|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.jdbc.kernel.exps.AbstractVal org.apache.openjpa.jdbc.kernel.exps.Variable
class Variable
A variable in a filter. Typically, the initialize(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.kernel.exps.ExpContext, int)
and
#getJoins
methods of this value are not called. They are
only called if the variable is bound but otherwise unused in the filter,
in which case we must at least make the joins to the variable because the
act of binding a variable should at least guarantee that an instance
representing the variable could exist (i.e. the binding collection is not
empty).
Field Summary |
---|
Fields inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal |
---|
FALSE, TRUE |
Fields inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val |
---|
ABS_VAL, ARGS_VAL, CMP_EQUAL, COALESCE_VAL, CONCAT_VAL, FORCE_OUTER, GENERALCASE_VAL, INDEXOF_VAL, JOIN_REL, LENGTH_VAL, LOCATE_VAL, LOWER_VAL, MATH_VAL, NULL_CMP, NULLIF_VAL, SIMPLECASE_VAL, SQRT_VAL, SUBSTRING_VAL, TRIM_VAL, UPPER_VAL, VAL, WHENCONDITION_VAL, WHENSCALAR_VAL |
Constructor Summary | |
---|---|
Variable(String name,
Class type)
Constructor. |
Method Summary | |
---|---|
void |
acceptVisit(ExpressionVisitor visitor)
Accept a visit from a tree visitor. |
void |
appendIsEmpty(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer buf)
Append the SQL testing whether this value is empty to the given buffer. |
void |
appendIsNotEmpty(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer buf)
Append the SQL testing whether this value is not empty to the given buffer. |
void |
appendIsNotNull(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer buf)
Append the SQL testing whether this value is not null to the given buffer. |
void |
appendIsNull(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer buf)
Append the SQL testing whether this value is null to the given buffer. |
void |
appendSize(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer buf)
Append the SQL checking the size of this value. |
void |
appendTo(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql,
int index)
Append the index th SQL element to the given buffer. |
void |
calculateValue(Select sel,
ExpContext ctx,
ExpState state,
Val other,
ExpState otherState)
Calculate and cache the SQL for this value. |
ClassMetaData |
getMetaData()
Return any associated persistent type. |
String |
getName()
Return the variable name. |
Path |
getPath()
|
PCPath |
getPCPath()
Return the path this variable is aliased to. |
Class |
getType()
Return the expected type for this value, or Object if
the type is unknown. |
void |
groupBy(Select sel,
ExpContext ctx,
ExpState state)
Group by this value. |
ExpState |
initialize(Select sel,
ExpContext ctx,
int flags)
Initialize the value. |
boolean |
isBound()
Return true if the variable is bound. |
boolean |
isVariable()
Return true if this value is a variable. |
int |
length(Select sel,
ExpContext ctx,
ExpState state)
Return the number of SQL elements in this value. |
Object |
load(ExpContext ctx,
ExpState state,
Result res)
Load the data for this value. |
void |
orderBy(Select sel,
ExpContext ctx,
ExpState state,
boolean asc)
Order by this value. |
void |
select(Select sel,
ExpContext ctx,
ExpState state,
boolean pks)
Select the data for this value. |
void |
selectColumns(Select sel,
ExpContext ctx,
ExpState state,
boolean pks)
Select just the columns for this value. |
void |
setImplicitType(Class type)
Set the implicit type of the value, based on how it is used in the filter. |
void |
setMetaData(ClassMetaData meta)
Associate a persistent type with this value. |
void |
setPCPath(PCPath path)
Set the path this variable is aliased to. |
Methods inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal |
---|
appendIndex, appendType, getAlias, getId, getSelectAs, isAggregate, isXPath, setAlias, toDataStoreValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Variable(String name, Class type)
Method Detail |
---|
public String getName()
getName
in interface Value
getName
in class AbstractVal
public boolean isBound()
public PCPath getPCPath()
public Path getPath()
getPath
in interface Value
getPath
in class AbstractVal
public void setPCPath(PCPath path)
public ClassMetaData getMetaData()
Value
public void setMetaData(ClassMetaData meta)
Value
public boolean isVariable()
Value
isVariable
in interface Value
isVariable
in class AbstractVal
public Class getType()
Value
Object
if
the type is unknown.
public void setImplicitType(Class type)
Value
Object
from Value.getType()
.
public ExpState initialize(Select sel, ExpContext ctx, int flags)
Val
public void select(Select sel, ExpContext ctx, ExpState state, boolean pks)
Val
public void selectColumns(Select sel, ExpContext ctx, ExpState state, boolean pks)
Val
public void groupBy(Select sel, ExpContext ctx, ExpState state)
Val
public void orderBy(Select sel, ExpContext ctx, ExpState state, boolean asc)
Val
public Object load(ExpContext ctx, ExpState state, Result res) throws SQLException
Val
SQLException
public void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)
Val
length
or any append
methods.
other
- the value being compared to, or null if not a comparisonpublic int length(Select sel, ExpContext ctx, ExpState state)
Val
public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index)
Val
index
th SQL element to the given buffer.
public void appendIsEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
Val
appendIsEmpty
in interface Val
appendIsEmpty
in class AbstractVal
public void appendIsNotEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
Val
appendIsNotEmpty
in interface Val
appendIsNotEmpty
in class AbstractVal
public void appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
Val
appendSize
in interface Val
appendSize
in class AbstractVal
public void appendIsNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
Val
appendIsNull
in interface Val
appendIsNull
in class AbstractVal
public void appendIsNotNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
Val
appendIsNotNull
in interface Val
appendIsNotNull
in class AbstractVal
public void acceptVisit(ExpressionVisitor visitor)
Value
acceptVisit
in interface Value
acceptVisit
in class AbstractVal
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |