|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.jexl3.internal.introspection.SandboxUberspect
public final class SandboxUberspect
An uberspect that controls usage of properties, methods and constructors through a sandbox.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.commons.jexl3.introspection.JexlUberspect |
---|
JexlUberspect.JexlResolver, JexlUberspect.PropertyResolver, JexlUberspect.ResolverStrategy |
Field Summary |
---|
Fields inherited from interface org.apache.commons.jexl3.introspection.JexlUberspect |
---|
JEXL_STRATEGY, MAP, MAP_STRATEGY, POJO |
Constructor Summary | |
---|---|
SandboxUberspect(JexlUberspect theUberspect,
JexlSandbox theSandbox)
A constructor for JexlSandbox uberspect. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SandboxUberspect(JexlUberspect theUberspect, JexlSandbox theSandbox)
theUberspect
- the JexlUberspect to sandboxtheSandbox
- the sandbox which is copied to avoid changes at runtimeMethod Detail |
---|
public void setClassLoader(ClassLoader loader)
JexlUberspect
This increments the version.
setClassLoader
in interface JexlUberspect
loader
- the class loaderpublic 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 arguments
JexlMethod
public JexlMethod getMethod(Object obj, String method, Object... args)
JexlUberspect
getMethod
in interface JexlUberspect
obj
- the objectmethod
- the method nameargs
- method arguments
JexlMethod
public List<JexlUberspect.PropertyResolver> getResolvers(JexlOperator op, Object obj)
JexlUberspect
getResolvers
in interface JexlUberspect
op
- the operatorobj
- the object
public 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 name
JexlPropertyGet
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 name
JexlPropertyGet
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 set
JexlPropertySet
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 set
JexlPropertySet
or nullpublic Iterator<?> getIterator(Object obj)
JexlUberspect
getIterator
in interface JexlUberspect
obj
- to get the iterator from
public JexlArithmetic.Uberspect getArithmetic(JexlArithmetic arithmetic)
JexlUberspect
getArithmetic
in interface JexlUberspect
arithmetic
- the arithmetic instance
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |