|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface JexlUberspect
'Federated' introspection/reflection interface to allow JEXL introspection behavior to be customized.
| Nested Class Summary | |
|---|---|
static class |
JexlUberspect.JexlResolver
The various builtin property resolvers. |
static interface |
JexlUberspect.PropertyResolver
Abstracts getting property setter and getter. |
static interface |
JexlUberspect.ResolverStrategy
Determines property resolution strategy. |
| Field Summary | |
|---|---|
static JexlUberspect.ResolverStrategy |
JEXL_STRATEGY
The default strategy. |
static List<JexlUberspect.PropertyResolver> |
MAP
A resolver types list tailored for Maps, favors '[]' over '.'. |
static JexlUberspect.ResolverStrategy |
MAP_STRATEGY
The map strategy. |
static List<JexlUberspect.PropertyResolver> |
POJO
A resolver types list tailored for POJOs, favors '.' over '[]'. |
| Method Summary | |
|---|---|
JexlArithmetic.Uberspect |
getArithmetic(JexlArithmetic arithmetic)
Gets an arithmetic operator resolver for a given arithmetic instance. |
JexlMethod |
getConstructor(Object ctorHandle,
Object... args)
Returns a class constructor. |
Iterator<?> |
getIterator(Object obj)
Gets an iterator from an object. |
JexlMethod |
getMethod(Object obj,
String method,
Object... args)
Returns a JexlMethod. |
JexlPropertyGet |
getPropertyGet(List<JexlUberspect.PropertyResolver> resolvers,
Object obj,
Object identifier)
Property getter. |
JexlPropertyGet |
getPropertyGet(Object obj,
Object identifier)
Property getter. |
JexlPropertySet |
getPropertySet(List<JexlUberspect.PropertyResolver> resolvers,
Object obj,
Object identifier,
Object arg)
Property setter. |
JexlPropertySet |
getPropertySet(Object obj,
Object identifier,
Object arg)
Property setter. |
List<JexlUberspect.PropertyResolver> |
getResolvers(JexlOperator op,
Object obj)
Applies this uberspect property resolver strategy. |
int |
getVersion()
Gets this uberspect version. |
void |
setClassLoader(ClassLoader loader)
Sets the class loader to use. |
| Field Detail |
|---|
static final List<JexlUberspect.PropertyResolver> POJO
static final List<JexlUberspect.PropertyResolver> MAP
static final JexlUberspect.ResolverStrategy JEXL_STRATEGY
If the operator is '[]' or if the operator is null and the object is a map, use the MAP list of resolvers; Other cases use the POJO list of resolvers.
static final JexlUberspect.ResolverStrategy MAP_STRATEGY
If the operator is '[]' or if the object is a map, use the MAP list of resolvers. Otherwise, use the POJO list of resolvers.
| Method Detail |
|---|
List<JexlUberspect.PropertyResolver> getResolvers(JexlOperator op,
Object obj)
op - the operatorobj - the object
void setClassLoader(ClassLoader loader)
This increments the version.
loader - the class loaderint getVersion()
JexlMethod getConstructor(Object ctorHandle,
Object... args)
ctorHandle - a class or class nameargs - constructor arguments
JexlMethod
JexlMethod getMethod(Object obj,
String method,
Object... args)
obj - the objectmethod - the method nameargs - method arguments
JexlMethod
JexlPropertyGet getPropertyGet(Object obj,
Object identifier)
returns a JelPropertySet apropos to an expression like bar.woogie.
obj - the object to get the property fromidentifier - property name
JexlPropertyGet or null
JexlPropertyGet getPropertyGet(List<JexlUberspect.PropertyResolver> resolvers,
Object obj,
Object identifier)
Seeks a JexlPropertyGet apropos to an expression like bar.woogie.
JexlUberspect.ResolverStrategy.apply(JexlOperator, java.lang.Object)
resolvers - the list of property resolvers to tryobj - the object to get the property fromidentifier - property name
JexlPropertyGet or null
JexlPropertySet getPropertySet(Object obj,
Object identifier,
Object arg)
Seeks a JelPropertySet apropos to an expression like foo.bar = "geir".
obj - the object to get the property from.identifier - property namearg - value to set
JexlPropertySet or null
JexlPropertySet getPropertySet(List<JexlUberspect.PropertyResolver> resolvers,
Object obj,
Object identifier,
Object arg)
Seeks a JelPropertySet apropos to an expression like foo.bar = "geir".
JexlUberspect.ResolverStrategy.apply(JexlOperator, java.lang.Object)
resolvers - the list of property resolvers to try,obj - the object to get the property fromidentifier - property namearg - value to set
JexlPropertySet or nullIterator<?> getIterator(Object obj)
obj - to get the iterator from
JexlArithmetic.Uberspect getArithmetic(JexlArithmetic arithmetic)
arithmetic - the arithmetic instance
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||