public class UberspectImpl extends Introspector implements Uberspect
This is the class to derive to customize introspection.
Modifier and Type | Class and Description |
---|---|
static class |
UberspectImpl.FieldPropertyGet
Deprecated.
Do not use externally - will be made private in a later version
|
static class |
UberspectImpl.FieldPropertySet
Deprecated.
Do not use externally - will be made private in a later version
|
static class |
UberspectImpl.IndexedContainer
A generic indexed property container, exposes get(key) and set(key, value) and solves method call dynamically
based on arguments.
|
Modifier and Type | Field and Description |
---|---|
static Object |
TRY_FAILED
Publicly exposed special failure object returned by tryInvoke.
|
rlog
Constructor and Description |
---|
UberspectImpl(Log runtimeLogger)
Creates a new UberspectImpl.
|
Modifier and Type | Method and Description |
---|---|
Constructor<?> |
getConstructor(Object ctorHandle,
Object[] args,
JexlInfo info)
Deprecated.
|
JexlMethod |
getConstructorMethod(Object ctorHandle,
Object[] args,
JexlInfo info)
Returns a class constructor wrapped in a JexlMethod.
|
Field |
getField(Object obj,
String name,
JexlInfo info)
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.
|
JexlMethod |
getMethod(Object obj,
String method,
Object[] args,
JexlInfo info)
Returns a JexlMethod.
|
JexlPropertyGet |
getPropertyGet(Object obj,
Object identifier,
JexlInfo info)
Property getter.
|
JexlPropertySet |
getPropertySet(Object obj,
Object identifier,
Object arg,
JexlInfo info)
Property setter.
|
void |
setLoader(ClassLoader cloader)
Resets this Uberspect class loader.
|
base, getClassByName, getConstructor, getField, getFieldNames, getGetExecutor, getMethod, getMethod, getMethodExecutor, getMethodNames, getMethods, getSetExecutor, setClassLoader, toInteger, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setClassLoader
public static final Object TRY_FAILED
public UberspectImpl(Log runtimeLogger)
runtimeLogger
- the logger used for all logging needspublic void setLoader(ClassLoader cloader)
cloader
- the class loader to usepublic Iterator<?> getIterator(Object obj, JexlInfo info)
getIterator
in interface Uberspect
obj
- to get the iterator forinfo
- contextual informationpublic JexlMethod getMethod(Object obj, String method, Object[] args, JexlInfo info)
getMethod
in interface Uberspect
obj
- the objectmethod
- the method nameargs
- method argumentsinfo
- contextual informationJexlMethod
@Deprecated public Constructor<?> getConstructor(Object ctorHandle, Object[] args, JexlInfo info)
getConstructor
in interface Uberspect
ctorHandle
- a class or class nameargs
- constructor argumentsinfo
- contextual informationConstructor
public JexlMethod getConstructorMethod(Object ctorHandle, Object[] args, JexlInfo info)
getConstructorMethod
in interface Uberspect
ctorHandle
- a class or class nameargs
- constructor argumentsinfo
- contextual informationConstructor
public JexlPropertyGet getPropertyGet(Object obj, Object identifier, JexlInfo info)
Returns JexlPropertyGet appropos for ${bar.woogie}.
getPropertyGet
in interface Uberspect
obj
- the object to get the property fromidentifier
- property nameinfo
- contextual informationJexlPropertyGet
public JexlPropertySet getPropertySet(Object obj, Object identifier, Object arg, JexlInfo info)
returns JelPropertySet appropos for ${foo.bar = "geir"}
.getPropertySet
in interface Uberspect
obj
- the object to get the property from.identifier
- property namearg
- value to setinfo
- contextual informationJexlPropertySet
.public Field getField(Object obj, String name, JexlInfo info)
obj
- the objectname
- the field nameinfo
- debug infoField
.protected JexlPropertyGet getIndexedGet(Object object, String name)
object
- the objectname
- the container nameCopyright © 2016 Internet2. All rights reserved.