public final class SandboxUberspect extends Object implements JexlUberspect
JexlUberspect.JexlResolver, JexlUberspect.PropertyResolver, JexlUberspect.ResolverStrategy
JEXL_STRATEGY, MAP, MAP_STRATEGY, POJO
Constructor and Description |
---|
SandboxUberspect(JexlUberspect theUberspect,
JexlSandbox theSandbox)
A constructor for JexlSandbox uberspect.
|
Modifier and Type | Method and Description |
---|---|
JexlArithmetic.Uberspect |
getArithmetic(JexlArithmetic arithmetic)
Gets an arithmetic operator resolver for a given arithmetic instance.
|
ClassLoader |
getClassLoader()
Gets the current class loader.
|
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.
|
public SandboxUberspect(JexlUberspect theUberspect, JexlSandbox theSandbox)
theUberspect
- the JexlUberspect to sandboxtheSandbox
- the sandbox which is copied to avoid changes at runtimepublic void setClassLoader(ClassLoader loader)
JexlUberspect
This increments the version.
setClassLoader
in interface JexlUberspect
loader
- the class loaderpublic ClassLoader getClassLoader()
JexlUberspect
getClassLoader
in interface JexlUberspect
public int getVersion()
JexlUberspect
getVersion
in interface JexlUberspect
public JexlMethod getConstructor(Object ctorHandle, Object... args)
JexlUberspect
getConstructor
in interface JexlUberspect
ctorHandle
- a class or class nameargs
- constructor argumentsJexlMethod
public JexlMethod getMethod(Object obj, String method, Object... args)
JexlUberspect
getMethod
in interface JexlUberspect
obj
- the objectmethod
- the method nameargs
- method argumentsJexlMethod
public List<JexlUberspect.PropertyResolver> getResolvers(JexlOperator op, Object obj)
JexlUberspect
getResolvers
in interface JexlUberspect
op
- the operatorobj
- the objectpublic JexlPropertyGet getPropertyGet(Object obj, Object identifier)
JexlUberspect
returns a JelPropertySet apropos to an expression like bar.woogie
.
getPropertyGet
in interface JexlUberspect
obj
- the object to get the property fromidentifier
- property nameJexlPropertyGet
or nullpublic JexlPropertyGet getPropertyGet(List<JexlUberspect.PropertyResolver> resolvers, Object obj, Object identifier)
JexlUberspect
Seeks a JexlPropertyGet apropos to an expression like bar.woogie
.
JexlUberspect.ResolverStrategy.apply(JexlOperator, java.lang.Object)
getPropertyGet
in interface JexlUberspect
resolvers
- the list of property resolvers to tryobj
- the object to get the property fromidentifier
- property nameJexlPropertyGet
or nullpublic JexlPropertySet getPropertySet(Object obj, Object identifier, Object arg)
JexlUberspect
Seeks a JelPropertySet apropos to an expression like foo.bar = "geir"
.
getPropertySet
in interface JexlUberspect
obj
- the object to get the property from.identifier
- property namearg
- value to setJexlPropertySet
or nullpublic JexlPropertySet getPropertySet(List<JexlUberspect.PropertyResolver> resolvers, Object obj, Object identifier, Object arg)
JexlUberspect
Seeks a JelPropertySet apropos to an expression like foo.bar = "geir"
.
JexlUberspect.ResolverStrategy.apply(JexlOperator, java.lang.Object)
getPropertySet
in interface JexlUberspect
resolvers
- the list of property resolvers to try,obj
- the object to get the property fromidentifier
- property namearg
- value to setJexlPropertySet
or nullpublic Iterator<?> getIterator(Object obj)
JexlUberspect
getIterator
in interface JexlUberspect
obj
- to get the iterator frompublic JexlArithmetic.Uberspect getArithmetic(JexlArithmetic arithmetic)
JexlUberspect
getArithmetic
in interface JexlUberspect
arithmetic
- the arithmetic instanceCopyright © 2001–2021 The Apache Software Foundation. All rights reserved.