|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.kernel.exps.Val org.apache.openjpa.kernel.exps.CandidatePath org.apache.openjpa.jdbc.kernel.exps.PCPath
public class PCPath
A path represents a traversal into fields of a candidate object.
Nested Class Summary | |
---|---|
static class |
PCPath.PathExpState
Expression state. |
Nested classes/interfaces inherited from class org.apache.openjpa.kernel.exps.CandidatePath |
---|
CandidatePath.Traversal |
Field Summary | |
---|---|
protected static String |
FALSE
|
protected static String |
TRUE
|
Fields inherited from class org.apache.openjpa.kernel.exps.CandidatePath |
---|
_actions, _correlationVar |
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 | |
---|---|
PCPath(ClassMapping type)
Return a path starting with the 'this' ptr. |
|
PCPath(ClassMapping candidate,
Variable var)
Return a path starting from the given variable. |
|
PCPath(SubQ sub)
Return a path starting from the given subquery. |
Method Summary | |
---|---|
void |
addVariableAction(Variable var)
Set the path as a binding of the given variable. |
void |
appendIndex(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL checking the index of this value. |
void |
appendIsEmpty(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL testing whether this value is empty to the given buffer. |
void |
appendIsNotEmpty(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL testing whether this value is not empty to the given buffer. |
void |
appendIsNotNull(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL testing whether this value is not null to the given buffer. |
void |
appendIsNull(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL testing whether this value is null to the given buffer. |
void |
appendSize(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL checking the size of this value. |
void |
appendTo(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
|
void |
appendTo(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql,
int index)
Append the index th SQL element to the given buffer. |
void |
appendTo(Select sel,
ExpState state,
SQLBuffer sql,
Column col)
|
void |
appendType(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql)
Append the SQL checking the type of this value. |
void |
calculateValue(Select sel,
ExpContext ctx,
ExpState state,
Val other,
ExpState otherState)
Calculate and cache the SQL for this value. |
boolean |
equals(Object other)
|
protected Object |
eval(Object candidate,
Object orig,
StoreContext ctx,
Object[] params)
Return this value for the given candidate. |
void |
get(FieldMetaData field,
boolean nullTraversal)
Traverse into the given field of the current object, and update the current object to that field value. |
void |
get(FieldMetaData fmd,
XMLMetaData meta)
Traverse into the given field that maps to xml column, and update the current object to that field value. |
void |
get(XMLMetaData meta,
String name)
Traverse into the gevin xpath name of the current object, and update the current object to that xpath field. |
ClassMapping |
getClassMapping(ExpState state)
|
Column[] |
getColumns(ExpState state)
|
FieldMapping |
getFieldMapping(ExpState state)
|
int |
getId()
|
void |
getKey()
|
ClassMetaData |
getMetaData()
Return any associated persistent type. |
String |
getPCPathString()
|
String |
getSchemaAlias()
|
Class |
getType()
Return the expected type for this value, or Object if
the type is unknown. |
XMLMetaData |
getXmlMapping()
Return the current XPath's xmlmapping metadata. |
String |
getXPath()
|
void |
groupBy(Select sel,
ExpContext ctx,
ExpState state)
Group by this value. |
int |
hashCode()
|
ExpState |
initialize(Select sel,
ExpContext ctx,
int flags)
Initialize the value. |
boolean |
isKey()
|
boolean |
isSubqueryPath()
|
boolean |
isUnaccessedVariable()
Return true if this is a bound variable that has not been accessed after binding. |
boolean |
isVariable()
Return true if this value is a variable. |
boolean |
isVariablePath()
Return whether this is a path involving a variable. |
boolean |
isXPath()
Return true if this value is an XML Path. |
FieldMetaData |
last()
Return the last field in the path, or null if the path does not not contain a final field. |
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. |
(package private) Object |
load(ExpContext ctx,
ExpState state,
Result res,
boolean pks)
|
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 |
setContainsId(String id)
If this path is part of a contains clause, then alias it to the proper contains id before initialization. |
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 |
setSchemaAlias(String schemaAlias)
Set the schema alias (the identification variable) this path is begin with. |
void |
setSubqueryContext(Context context,
String correlationVar)
|
Object |
toDataStoreValue(Select sel,
ExpContext ctx,
ExpState state,
Object val)
Return the datastore value of the given object in the context of this value. |
void |
verifyIndexedField()
|
Methods inherited from class org.apache.openjpa.kernel.exps.CandidatePath |
---|
castTo, getCandidateType, getCorrelationVar |
Methods inherited from class org.apache.openjpa.kernel.exps.Val |
---|
acceptVisit, eval, evaluate, evaluate, getAlias, getName, getPath, getSelectAs, isAggregate, setAlias |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.openjpa.kernel.exps.Path |
---|
getCorrelationVar |
Methods inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val |
---|
getSelectAs |
Methods inherited from interface org.apache.openjpa.kernel.exps.Value |
---|
acceptVisit, getAlias, getName, getPath, isAggregate, setAlias |
Field Detail |
---|
protected static final String TRUE
protected static final String FALSE
Constructor Detail |
---|
public PCPath(ClassMapping type)
public PCPath(ClassMapping candidate, Variable var)
public PCPath(SubQ sub)
Method Detail |
---|
public void setSchemaAlias(String schemaAlias)
Path
setSchemaAlias
in interface Path
setSchemaAlias
in class CandidatePath
public String getSchemaAlias()
getSchemaAlias
in interface Path
getSchemaAlias
in class CandidatePath
public void setSubqueryContext(Context context, String correlationVar)
setSubqueryContext
in interface Path
setSubqueryContext
in class CandidatePath
public void addVariableAction(Variable var)
public boolean isUnaccessedVariable()
public boolean isVariablePath()
public void setContainsId(String id)
public ClassMetaData getMetaData()
Value
getMetaData
in interface Value
getMetaData
in class Val
public void setMetaData(ClassMetaData meta)
Value
setMetaData
in interface Value
setMetaData
in class Val
public boolean isKey()
public boolean isXPath()
Value
isXPath
in interface Value
isXPath
in class Val
public String getXPath()
public String getPCPathString()
public ClassMapping getClassMapping(ExpState state)
public FieldMapping getFieldMapping(ExpState state)
public Column[] getColumns(ExpState state)
public boolean isVariable()
Value
isVariable
in interface Value
isVariable
in class Val
public void get(FieldMetaData field, boolean nullTraversal)
CandidatePath
get
in interface Path
get
in class CandidatePath
nullTraversal
- if true, allow traversal through a null fieldpublic void get(FieldMetaData fmd, XMLMetaData meta)
Path
get
in interface Path
get
in class CandidatePath
fmd
- field maps to xml columnmeta
- associated xml mappingpublic void get(XMLMetaData meta, String name)
Path
get
in interface Path
get
in class CandidatePath
public XMLMetaData getXmlMapping()
Path
getXmlMapping
in interface Path
getXmlMapping
in class CandidatePath
public void getKey()
getKey
in interface JDBCPath
public FieldMetaData last()
Path
last
in interface Path
last
in class CandidatePath
public Class getType()
Value
Object
if
the type is unknown.
getType
in interface Value
getType
in class CandidatePath
public void setImplicitType(Class type)
Value
Object
from Value.getType()
.
setImplicitType
in interface Value
setImplicitType
in class CandidatePath
public ExpState initialize(Select sel, ExpContext ctx, int flags)
Val
initialize
in interface Val
protected Object eval(Object candidate, Object orig, StoreContext ctx, Object[] params)
Val
eval
in class CandidatePath
public Object toDataStoreValue(Select sel, ExpContext ctx, ExpState state, Object val)
Val
toDataStoreValue
in interface Val
public void select(Select sel, ExpContext ctx, ExpState state, boolean pks)
Val
select
in interface Val
public void selectColumns(Select sel, ExpContext ctx, ExpState state, boolean pks)
Val
selectColumns
in interface Val
public void groupBy(Select sel, ExpContext ctx, ExpState state)
Val
groupBy
in interface Val
public void orderBy(Select sel, ExpContext ctx, ExpState state, boolean asc)
Val
orderBy
in interface Val
public Object load(ExpContext ctx, ExpState state, Result res) throws SQLException
Val
load
in interface Val
SQLException
Object load(ExpContext ctx, ExpState state, Result res, boolean pks) throws SQLException
SQLException
public void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)
Val
length
or any append
methods.
calculateValue
in interface Val
other
- the value being compared to, or null if not a comparisonpublic void verifyIndexedField()
public int length(Select sel, ExpContext ctx, ExpState state)
Val
length
in interface Val
public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index)
Val
index
th SQL element to the given buffer.
appendTo
in interface Val
public void appendTo(Select sel, ExpState state, SQLBuffer sql, Column col)
public void appendIsEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendIsEmpty
in interface Val
public void appendIsNotEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendIsNotEmpty
in interface Val
public void appendIndex(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendIndex
in interface Val
public void appendType(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendType
in interface Val
public void appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendSize
in interface Val
public void appendIsNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendIsNull
in interface Val
public void appendIsNotNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
appendIsNotNull
in interface Val
public boolean isSubqueryPath()
public int hashCode()
hashCode
in class CandidatePath
public boolean equals(Object other)
equals
in class CandidatePath
public int getId()
getId
in interface Val
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |