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
JexlPropertyGet
invoke
in interface JexlPropertyGet
obj
- the object to get the property value from.Exception
- on any error.public Object tryInvoke(Object obj, Object key)
JexlPropertyGet
tryInvoke
in interface JexlPropertyGet
obj
- the object to invoke the property get uponkey
- the property key to getpublic boolean tryFailed(Object rval)
JexlPropertyGet
tryFailed
in interface JexlPropertyGet
rval
- the value returned by tryInvokepublic boolean isCacheable()
JexlPropertyGet
isCacheable
in interface JexlPropertyGet
Copyright © 2001–2021 The Apache Software Foundation. All rights reserved.