org.apache.commons.jexl2.introspection
Interface JexlPropertyGet

All Known Implementing Classes:
AbstractExecutor.Get, BooleanGetExecutor, DuckGetExecutor, ListGetExecutor, MapGetExecutor, PropertyGetExecutor, UberspectImpl.FieldPropertyGet

public interface JexlPropertyGet

Interface for getting values that appear to be properties. Ex. ${foo.bar}

Since:
1.0
Version:
$Id: JexlPropertyGet.java 889760 2009-12-11 18:42:49Z sebb $
Author:
Geir Magnusson Jr.

Method Summary
 java.lang.Object invoke(java.lang.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(java.lang.Object rval)
          Checks whether a tryInvoke failed or not.
 java.lang.Object tryInvoke(java.lang.Object obj, java.lang.Object key)
          Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.
 

Method Detail

invoke

java.lang.Object invoke(java.lang.Object obj)
                        throws java.lang.Exception
Method used to get the property value of an object.

Parameters:
obj - the object to get the property value from.
Returns:
the property value.
Throws:
java.lang.Exception - on any error.

tryInvoke

java.lang.Object tryInvoke(java.lang.Object obj,
                           java.lang.Object key)
Attempts to reuse this JexlPropertyGet, checking that it is compatible with the actual set of arguments.

Parameters:
obj - the object to invoke the property get upon
key - the property key to get
Returns:
the result of the method invocation that should be checked by tryFailed to determine if it succeeded or failed.

tryFailed

boolean tryFailed(java.lang.Object rval)
Checks whether a tryInvoke failed or not.

Parameters:
rval - the value returned by tryInvoke
Returns:
true if tryInvoke failed, false otherwise

isCacheable

boolean isCacheable()
Specifies if this JexlPropertyGet is cacheable and able to be reused for this class of object it was returned for.

Returns:
true if can be reused for this class, false if not


Copyright © 2001-2010 Apache Software Foundation. All Rights Reserved.