|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.josql.expressions.Expression org.josql.expressions.ValueExpression org.josql.expressions.SubQueryExpression
public class SubQueryExpression
Constructor Summary | |
---|---|
SubQueryExpression(Query q)
|
Method Summary | |
---|---|
void |
bindVariableChanged(BindVariableChangedEvent ev)
|
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()
|
Query |
getQuery()
|
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 |
saveValueChanged(SaveValueChangedEvent ev)
|
void |
setAccessor(String acc)
|
String |
toString()
Return a string representation of the expression, making this abstract forces sub-classes to provide an implementation. |
Methods inherited from class org.josql.expressions.ValueExpression |
---|
getValue |
Methods inherited from class org.josql.expressions.Expression |
---|
isBracketed, setBracketed |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SubQueryExpression(Query q)
Method Detail |
---|
public void bindVariableChanged(BindVariableChangedEvent ev)
bindVariableChanged
in interface BindVariableChangedListener
public void saveValueChanged(SaveValueChangedEvent ev)
saveValueChanged
in interface SaveValueChangedListener
public com.gentlyweb.utils.Getter getGetter()
public void setAccessor(String acc)
public String getAccessor()
public Query getQuery()
public boolean hasFixedResult(Query q)
Expression
Expression.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 Expression
q
- The Query object.
true
if the expression evaluates to a fixed/constant result.public Class getExpectedReturnType(Query q) throws QueryParseException
Expression
Expression.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 Expression
q
- The Query object.
Expression.getValue(Object,Query)
method.
QueryParseException
- If something goes wrong with determining the type.public void init(Query q) throws QueryParseException
Expression
init
in class Expression
q
- The Query object.
QueryParseException
- If something goes wrong with the initialisation.public boolean isTrue(Object o, Query q) throws QueryExecutionException
Expression
ValueExpression
)
to be used in the WHERE and HAVING clauses but ensuring that a boolean value is
available for every expression.
isTrue
in class Expression
o
- 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 Object evaluate(Object o, Query q) throws QueryExecutionException
evaluate
in class ValueExpression
QueryExecutionException
public String toString()
Expression
toString
in class Expression
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |