Top Description Fields Methods
org.springframework.expression.spel

public Interface CompilablePropertyAccessor

extends PropertyAccessor, Opcodes
Known Direct Implementers
org.springframework.expression.spel.support.ReflectivePropertyAccessor.OptimalPropertyAccessor
Imports
org.springframework.asm.MethodVisitor, .Opcodes, org.springframework.expression.PropertyAccessor

A compilable PropertyAccessor is able to generate bytecode that represents the access operation, facilitating compilation to bytecode of expressions that use the accessor.
Author
Andy Clement
Since
4.1

Field Summary

Inherited from org.springframework.asm.Opcodes:
AALOADAASTOREACC_ABSTRACTACC_ANNOTATIONACC_BRIDGEACC_DEPRECATEDACC_ENUMACC_FINALACC_INTERFACEACC_MANDATEDACC_MODULEACC_NATIVEACC_OPENACC_PRIVATEACC_PROTECTEDACC_PUBLICACC_RECORDACC_STATICACC_STATIC_PHASEACC_STRICTACC_SUPERACC_SYNCHRONIZEDACC_SYNTHETICACC_TRANSIENTACC_TRANSITIVEACC_VARARGSACC_VOLATILEACONST_NULLALOADANEWARRAYARETURNARRAYLENGTHASM10_EXPERIMENTALASM4ASM5ASM6ASM7ASM8ASM9ASTOREATHROWBALOADBASTOREBIPUSHCALOADCASTORECHECKCASTD2FD2ID2LDADDDALOADDASTOREDCMPGDCMPLDCONST_0DCONST_1DDIVDLOADDMULDNEGDOUBLEDREMDRETURNDSTOREDSUBDUPDUP2DUP2_X1DUP2_X2DUP_X1DUP_X2F2DF2IF2LF_APPENDF_CHOPF_FULLF_NEWF_SAMEF_SAME1FADDFALOADFASTOREFCMPGFCMPLFCONST_0FCONST_1FCONST_2FDIVFLOADFLOATFMULFNEGFREMFRETURNFSTOREFSUBGETFIELDGETSTATICGOTOH_GETFIELDH_GETSTATICH_INVOKEINTERFACEH_INVOKESPECIALH_INVOKESTATICH_INVOKEVIRTUALH_NEWINVOKESPECIALH_PUTFIELDH_PUTSTATICI2BI2CI2DI2FI2LI2SIADDIALOADIANDIASTOREICONST_0ICONST_1ICONST_2ICONST_3ICONST_4ICONST_5ICONST_M1IDIVIF_ACMPEQIF_ACMPNEIF_ICMPEQIF_ICMPGEIF_ICMPGTIF_ICMPLEIF_ICMPLTIF_ICMPNEIFEQIFGEIFGTIFLEIFLTIFNEIFNONNULLIFNULLIINCILOADIMULINEGINSTANCEOFINTEGERINVOKEDYNAMICINVOKEINTERFACEINVOKESPECIALINVOKESTATICINVOKEVIRTUALIORIREMIRETURNISHLISHRISTOREISUBIUSHRIXORJSRL2DL2FL2ILADDLALOADLANDLASTORELCMPLCONST_0LCONST_1LDCLDIVLLOADLMULLNEGLONGLOOKUPSWITCHLORLREMLRETURNLSHLLSHRLSTORELSUBLUSHRLXORMONITORENTERMONITOREXITMULTIANEWARRAYNEWNEWARRAYNOPNULLPOPPOP2PUTFIELDPUTSTATICRETRETURNSALOADSASTORESIPUSHSOURCE_DEPRECATEDSOURCE_MASKSWAPT_BOOLEANT_BYTET_CHART_DOUBLET_FLOATT_INTT_LONGT_SHORTTABLESWITCHTOPUNINITIALIZED_THISV10V11V12V13V14V15V16V17V18V19V1_1V1_2V1_3V1_4V1_5V1_6V1_7V1_8V20V21V22V23V9V_PREVIEW

Method Summary

Modifier and TypeMethod and Description
public void
generateCode(String
the name of the property
propertyName
,
MethodVisitor
the ASM method visitor into which code should be generated
methodVisitor
,
CodeFlow
the current state of the expression compiler
codeFlow
)

Generate the bytecode the performs the access operation into the specified MethodVisitor using context information from the CodeFlow where necessary.

public Class<?>
getPropertyType()

Return the type of the accessed property - may only be known once an access has occurred.

public boolean
isCompilable()

Return true if this property accessor is currently suitable for compilation.

Inherited from org.springframework.expression.PropertyAccessor:
canReadcanWritegetSpecificTargetClassesreadwrite

Method Detail

generateCodeback to summary
public void generateCode(String propertyName, MethodVisitor methodVisitor, CodeFlow codeFlow)

Generate the bytecode the performs the access operation into the specified MethodVisitor using context information from the CodeFlow where necessary.

Parameters
propertyName:String

the name of the property

methodVisitor:MethodVisitor

the ASM method visitor into which code should be generated

codeFlow:CodeFlow

the current state of the expression compiler

getPropertyTypeback to summary
public Class<?> getPropertyType()

Return the type of the accessed property - may only be known once an access has occurred.

isCompilableback to summary
public boolean isCompilable()

Return true if this property accessor is currently suitable for compilation.