|
||||||||||
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 nullJexlPropertyGet 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 nullJexlPropertySet 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 nullJexlPropertySet 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 |