class Variable extends AbstractVal
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).FALSE, TRUEABS_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 and Description |
|---|
Variable(String name,
Class type)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
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
indexth 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.
|
appendIndex, appendType, getAlias, getId, getSelectAs, isAggregate, isXPath, setAlias, toDataStoreValuepublic String getName()
getName in interface ValuegetName in class AbstractValpublic boolean isBound()
public PCPath getPCPath()
public Path getPath()
getPath in interface ValuegetPath in class AbstractValpublic void setPCPath(PCPath path)
public ClassMetaData getMetaData()
Valuepublic void setMetaData(ClassMetaData meta)
Valuepublic boolean isVariable()
ValueisVariable in interface ValueisVariable in class AbstractValpublic Class getType()
ValueObject if
the type is unknown.public void setImplicitType(Class type)
ValueObject from Value.getType().public ExpState initialize(Select sel, ExpContext ctx, int flags)
Valpublic void select(Select sel, ExpContext ctx, ExpState state, boolean pks)
Valpublic void selectColumns(Select sel, ExpContext ctx, ExpState state, boolean pks)
Valpublic void groupBy(Select sel, ExpContext ctx, ExpState state)
Valpublic void orderBy(Select sel, ExpContext ctx, ExpState state, boolean asc)
Valpublic Object load(ExpContext ctx, ExpState state, Result res) throws SQLException
ValSQLExceptionpublic void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)
Vallength or any append methods.other - the value being compared to, or null if not a comparisonpublic int length(Select sel, ExpContext ctx, ExpState state)
Valpublic void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index)
Valindexth SQL element to the given buffer.public void appendIsEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
ValappendIsEmpty in interface ValappendIsEmpty in class AbstractValpublic void appendIsNotEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
ValappendIsNotEmpty in interface ValappendIsNotEmpty in class AbstractValpublic void appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
ValappendSize in interface ValappendSize in class AbstractValpublic void appendIsNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
ValappendIsNull in interface ValappendIsNull in class AbstractValpublic void appendIsNotNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer buf)
ValappendIsNotNull in interface ValappendIsNotNull in class AbstractValpublic void acceptVisit(ExpressionVisitor visitor)
ValueacceptVisit in interface ValueacceptVisit in class AbstractValCopyright © 2006–2013 Apache Software Foundation. All rights reserved.