Class PropertyAccessor
java.lang.Object
org.mvel2.PropertyAccessor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate Objectprivate Objectprivate Classprivate intprivate static final Object[]private intprivate booleanprivate intprivate static final intprivate static final Map<Member, WeakReference<Class[]>> private static final Map<Class, WeakHashMap<Integer, WeakReference<Object[]>>> private static final intprivate booleanprivate ParserContextprivate char[]private static final Map<Class, WeakHashMap<Integer, WeakReference<Member>>> private intprivate intprivate Objectprivate VariableResolverFactoryprivate static final intprivate static final Map<Class, WeakHashMap<Integer, WeakReference<Member>>> -
Constructor Summary
ConstructorsConstructorDescriptionPropertyAccessor(char[] property, int start, int offset, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx) PropertyAccessor(char[] property, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx) PropertyAccessor(String property, Object ctx) -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddMethodCache(Class cls, Integer property, Method member) private static voidaddReadCache(Class cls, Integer property, Member member) private static voidaddWriteCache(Class cls, Integer property, Member member) private Stringcapture()private static Object[]checkMethodCache(Class cls, Integer property) static Class[]checkParmTypesCache(Method member) private static MembercheckReadCache(Class cls, Integer property) private static MembercheckWriteCache(Class cls, Integer property) static voidprivate static intcreateSignature(String name, String args) private Objectget()static Objectget(char[] property, int offset, int end, Object ctx, VariableResolverFactory resolver, Object thisReferece, ParserContext pCtx) static Objectstatic Objectget(String property, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx) private Objectprivate ObjectgetBeanProperty(Object ctx, String property) private ObjectgetBeanPropertyAO(Object ctx, String property) private ClassLoaderprivate ObjectgetCollectionProperty(Object ctx, String prop) Handle accessing a property embedded in a collections, map, or arrayprivate ObjectgetCollectionPropertyAO(Object ctx, String prop) private ObjectFind an appropriate method, execute it, and return it's response.private Objectprivate ObjectgetWithProperty(Object ctx) private intstatic voidprivate booleanscanTo(char c) private voidstatic voidstatic voidset(Object ctx, VariableResolverFactory resolver, String property, Object value, ParserContext pCtx) protected inttrimLeft(int pos) protected ObjectTry static access of the property, and return an instance of the Field, Method of Class if successful.private void
-
Field Details
-
start
private int start -
cursor
private int cursor -
st
private int st -
property
private char[] property -
length
private int length -
end
private int end -
thisReference
-
ctx
-
curr
-
currType
-
first
private boolean first -
nullHandle
private boolean nullHandle -
variableFactory
-
pCtx
-
NORM
private static final int NORM- See Also:
-
METH
private static final int METH- See Also:
-
COL
private static final int COL- See Also:
-
WITH
private static final int WITH- See Also:
-
EMPTYARG
-
READ_PROPERTY_RESOLVER_CACHE
private static final Map<Class, WeakHashMap<Integer, WeakReference<Member>>> READ_PROPERTY_RESOLVER_CACHE -
WRITE_PROPERTY_RESOLVER_CACHE
private static final Map<Class, WeakHashMap<Integer, WeakReference<Member>>> WRITE_PROPERTY_RESOLVER_CACHE -
METHOD_RESOLVER_CACHE
private static final Map<Class, WeakHashMap<Integer, WeakReference<Object[]>>> METHOD_RESOLVER_CACHE -
METHOD_PARMTYPES_CACHE
-
-
Constructor Details
-
PropertyAccessor
-
PropertyAccessor
public PropertyAccessor(char[] property, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx) -
PropertyAccessor
public PropertyAccessor(char[] property, int start, int offset, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx)
-
-
Method Details
-
get
-
get
public static Object get(char[] property, int offset, int end, Object ctx, VariableResolverFactory resolver, Object thisReferece, ParserContext pCtx) -
get
public static Object get(String property, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx) -
set
-
set
public static void set(Object ctx, VariableResolverFactory resolver, String property, Object value, ParserContext pCtx) -
get
-
getNormal
-
getAllowOverride
-
set
-
nextToken
private int nextToken() -
capture
-
trimLeft
protected int trimLeft(int pos) -
clearPropertyResolverCache
public static void clearPropertyResolverCache() -
reportCacheSizes
public static void reportCacheSizes() -
addReadCache
-
checkReadCache
-
addWriteCache
-
checkWriteCache
-
checkParmTypesCache
-
addMethodCache
-
checkMethodCache
-
getBeanPropertyAO
private Object getBeanPropertyAO(Object ctx, String property) throws IllegalAccessException, InvocationTargetException -
getBeanProperty
private Object getBeanProperty(Object ctx, String property) throws IllegalAccessException, InvocationTargetException -
whiteSpaceSkip
private void whiteSpaceSkip() -
scanTo
private boolean scanTo(char c) - Parameters:
c- - character to scan to.- Returns:
- - returns true is end of statement is hit, false if the scan scar is countered.
-
getWithProperty
-
getCollectionProperty
-
getCollectionPropertyAO
-
getMethod
-
createSignature
-
getClassLoader
-
tryStaticAccess
Try static access of the property, and return an instance of the Field, Method of Class if successful.- Returns:
- - Field, Method or Class instance.
-