public final class IndexedType extends Object implements JexlPropertyGet
This allows getting properties from expressions like var.container.property.
This stores the container name and class as well as the list of available getter and setter methods.
It implements JexlPropertyGet since such a container can only be accessed from its owning instance (not set).
| Modifier and Type | Class and Description |
|---|---|
static class |
IndexedType.IndexedContainer
A generic indexed property container, exposes get(key) and set(key, value)
and solves method call dynamically based on arguments.
|
| Modifier and Type | Method and Description |
|---|---|
static JexlPropertyGet |
discover(Introspector is,
Object object,
String name)
Attempts to find an indexed-property getter in an object.
|
Object |
invoke(Object obj)
Method used to get the property value of an object.
|
boolean |
isCacheable()
Specifies if this JexlPropertyGet is cacheable and able to be reused for
this class of object it was returned for.
|
boolean |
tryFailed(Object rval)
Checks whether a tryInvoke failed or not.
|
Object |
tryInvoke(Object obj,
Object key)
Attempts to reuse this JexlPropertyGet, checking that it is compatible with
the actual set of arguments.
|
public static JexlPropertyGet discover(Introspector is, Object object, String name)
is - the introspectorobject - the objectname - the container namepublic Object invoke(Object obj) throws Exception
JexlPropertyGetinvoke in interface JexlPropertyGetobj - the object to get the property value from.Exception - on any error.public Object tryInvoke(Object obj, Object key)
JexlPropertyGettryInvoke in interface JexlPropertyGetobj - the object to invoke the property get uponkey - the property key to getpublic boolean tryFailed(Object rval)
JexlPropertyGettryFailed in interface JexlPropertyGetrval - the value returned by tryInvokepublic boolean isCacheable()
JexlPropertyGetisCacheable in interface JexlPropertyGetCopyright © 2001–2021 The Apache Software Foundation. All rights reserved.