java.lang.Object java.beans.Statement java.beans.Expression
An Expression object represents a primitive expression in which a single method is applied to a target and a set of arguments to return a result - as in "a.getFoo()".
In addition to the properties of the super class, the Expression object provides a value which is the object returned when this expression is evaluated. The return value is typically not provided by the caller and is instead computed by dynamically finding the method and invoking it when the first call to getValue is made.
Constructor Summary | |
---|---|
Expression
(
Object
value,
Object
target,
String
methodName,
Object
[] arguments) Creates a new Expression object for a method that returns a result. |
|
Expression
(
Object
target,
String
methodName,
Object
[] arguments) Creates a new Statement object with a target, methodName and arguments as per the parameters. |
Method Summary | |
---|---|
Object |
getValue
() If the value property of this instance is not already set, this method dynamically finds the method with the specified methodName on this target with these arguments and calls it. |
void |
setValue
(
Object
value) Sets the value of this expression to value. |
String |
toString
() Prints the value of this expression using a Java-style syntax. |
Methods inherited from class java.beans. Statement |
---|
execute , getArguments , getMethodName , getTarget |
Methods inherited from class java.lang. Object |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
Constructor Detail |
---|
public Expression(Object target, String methodName, Object[] arguments)
public Expression(Object value, Object target, String methodName, Object[] arguments)
Method Detail |
---|
public Object getValue() throws Exception
The value property of an Expression is set to a unique private (non-null) value by default and this value is used as an internal indication that the method has not yet been called. A return value of null replaces this default value in the same way that any other value would, ensuring that expressions are never evaluated more than once.
See the excecute method for details on how methods are chosen using the dynamic types of the target and arguments.
public void setValue(Object value)
public String toString()