Class UberspectImpl
java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.Introspector
edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.introspection.UberspectImpl
- All Implemented Interfaces:
Uberspect
- Direct Known Subclasses:
SandboxUberspectImpl
Implementation of Uberspect to provide the default introspective
functionality of JEXL.
This is the class to derive to customize introspection.
- Since:
- 1.0
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Deprecated.Do not use externally - will be made private in a later versionstatic final class
Deprecated.Do not use externally - will be made private in a later versionstatic final class
A generic indexed property container, exposes get(key) and set(key, value) and solves method call dynamically based on arguments. -
Field Summary
Modifier and TypeFieldDescriptionstatic final Object
Publicly exposed special failure object returned by tryInvoke.Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.Introspector
rlog
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionConstructor<?>
getConstructor
(Object ctorHandle, Object[] args, JexlInfo info) Deprecated.getConstructorMethod
(Object ctorHandle, Object[] args, JexlInfo info) Returns a class constructor wrapped in a JexlMethod.Returns a class field.protected JexlPropertyGet
getIndexedGet
(Object object, String name) Attempts to find an indexed-property getter in an object.Iterator<?>
getIterator
(Object obj, JexlInfo info) Gets an iterator from an object.Returns a JexlMethod.getPropertyGet
(Object obj, Object identifier, JexlInfo info) Property getter.getPropertySet
(Object obj, Object identifier, Object arg, JexlInfo info) Property setter.void
setLoader
(ClassLoader cloader) Resets this Uberspect class loader.Methods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.internal.Introspector
base, getClassByName, getConstructor, getField, getFieldNames, getGetExecutor, getMethod, getMethod, getMethodExecutor, getMethodNames, getMethods, getSetExecutor, setClassLoader, toInteger, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.introspection.Uberspect
setClassLoader
-
Field Details
-
TRY_FAILED
Publicly exposed special failure object returned by tryInvoke.
-
-
Constructor Details
-
UberspectImpl
Creates a new UberspectImpl.- Parameters:
runtimeLogger
- the logger used for all logging needs
-
-
Method Details
-
setLoader
Resets this Uberspect class loader.- Parameters:
cloader
- the class loader to use- Since:
- 2.1
-
getIterator
Gets an iterator from an object.- Specified by:
getIterator
in interfaceUberspect
- Parameters:
obj
- to get the iterator forinfo
- contextual information- Returns:
- an iterator over obj
-
getMethod
Returns a JexlMethod.- Specified by:
getMethod
in interfaceUberspect
- Parameters:
obj
- the objectmethod
- the method nameargs
- method argumentsinfo
- contextual information- Returns:
- a
JexlMethod
-
getConstructor
Deprecated.Returns a class constructor.- Specified by:
getConstructor
in interfaceUberspect
- Parameters:
ctorHandle
- a class or class nameargs
- constructor argumentsinfo
- contextual information- Returns:
- a
Constructor
-
getConstructorMethod
Returns a class constructor wrapped in a JexlMethod.- Specified by:
getConstructorMethod
in interfaceUberspect
- Parameters:
ctorHandle
- a class or class nameargs
- constructor argumentsinfo
- contextual information- Returns:
- a
Constructor
- Since:
- 2.1
-
getPropertyGet
Property getter.Returns JexlPropertyGet appropos for ${bar.woogie}.
- Specified by:
getPropertyGet
in interfaceUberspect
- Parameters:
obj
- the object to get the property fromidentifier
- property nameinfo
- contextual information- Returns:
- a
JexlPropertyGet
-
getPropertySet
Property setter.returns JelPropertySet appropos for ${foo.bar = "geir"}
.- Specified by:
getPropertySet
in interfaceUberspect
- Parameters:
obj
- the object to get the property from.identifier
- property namearg
- value to setinfo
- contextual information- Returns:
- a
JexlPropertySet
.
-
getField
Returns a class field. Only for use by sub-classes, will be made protected in a later version- Parameters:
obj
- the objectname
- the field nameinfo
- debug info- Returns:
- a
Field
.
-
getIndexedGet
Attempts to find an indexed-property getter in an object. The code attempts to find the list of methods getXXX() and setXXX(). Note that this is not equivalent to the strict bean definition of indexed properties; the type of the key is not necessarily an int and the set/get arrays are not resolved.- Parameters:
object
- the objectname
- the container name- Returns:
- a JexlPropertyGet is successfull, null otherwise
- Since:
- 2.1
-