public class Accessor extends ValueExpression
myObj.id.name.
All of the methods referenced must have no arguments and be "public" in the referring class.
You can use either the actual method name or the JavaBean naming convention.
Thus: myObj.id.name might also be represented as: getMyObj.getId.getName.
| Constructor and Description |
|---|
Accessor() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o) |
Object |
evaluate(Object o,
Query q) |
String |
getAccessor() |
Class |
getExpectedReturnType(Query q)
Return the class of the object that "should" be returned from a call to the:
Expression.getValue(Object,Query) method. |
com.gentlyweb.utils.Getter |
getGetter() |
boolean |
hasFixedResult(Query q)
Return whether the expression will evaluate to a fixed/constant result.
|
void |
init(Query q)
Perform the necessary initialisation for this expression.
|
boolean |
isTrue(Object o,
Query q)
This method allows ANY expression (including those that extend
ValueExpression)
to be used in the WHERE and HAVING clauses but ensuring that a boolean value is
available for every expression. |
void |
setAccessor(String a) |
void |
setName(String name) |
String |
toString()
Return a string representation of the expression, making this abstract forces
sub-classes to provide an implementation.
|
getValueisBracketed, setBracketedpublic Class getExpectedReturnType(Query q) throws QueryParseException
ExpressionExpression.getValue(Object,Query) method. It may be that repeated executions
of a query will return different classes from this method. In general
sub-classes should take this variance into account.getExpectedReturnType in class Expressionq - The Query object.Expression.getValue(Object,Query)
method.QueryParseException - If something goes wrong with determining the type.public void init(Query q) throws QueryParseException
Expressioninit in class Expressionq - The Query object.QueryParseException - If something goes wrong with the initialisation.public String getAccessor()
public void setAccessor(String a)
public com.gentlyweb.utils.Getter getGetter()
public void setName(String name)
public boolean isTrue(Object o, Query q) throws QueryExecutionException
ExpressionValueExpression)
to be used in the WHERE and HAVING clauses but ensuring that a boolean value is
available for every expression.isTrue in class Expressiono - The current object to evaluate the expression on.q - The Query object.true if the expression evaluates to true (well duh...).QueryExecutionException - If there is a problem with the execution of the
expression.public boolean hasFixedResult(Query q)
ExpressionExpression.isTrue(Object,Query) or Expression.getValue(Object,Query)
methods will return the same object (or that o1.equals (o2) == true)
regardless of the object passed to the method.hasFixedResult in class Expressionq - The Query object.true if the expression evaluates to a fixed/constant result.public Object evaluate(Object o, Query q) throws QueryExecutionException
evaluate in class ValueExpressionQueryExecutionExceptionpublic String toString()
ExpressiontoString in class Expression