public class PCPath extends CandidatePath
Modifier and Type | Class and Description |
---|---|
static class |
PCPath.PathExpState
Expression state.
|
CandidatePath.Traversal
Modifier and Type | Field and Description |
---|---|
protected static String |
FALSE |
protected static String |
TRUE |
_actions, _correlationVar
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 and Description |
---|
PCPath(ClassMapping type)
Return a path starting with the 'this' ptr.
|
PCPath(ClassMapping candidate,
org.apache.openjpa.jdbc.kernel.exps.Variable var)
Return a path starting from the given variable.
|
PCPath(SubQ sub)
Return a path starting from the given subquery.
|
Modifier and Type | Method and Description |
---|---|
void |
addVariableAction(org.apache.openjpa.jdbc.kernel.exps.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.
|
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() |
castTo, getCandidateType, getCorrelationVar
acceptVisit, eval, evaluate, evaluate, getAlias, getName, getPath, getSelectAs, isAggregate, setAlias
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
getCorrelationVar
getSelectAs
acceptVisit, getAlias, getName, getPath, isAggregate, setAlias
protected static final String TRUE
protected static final String FALSE
public PCPath(ClassMapping type)
public PCPath(ClassMapping candidate, org.apache.openjpa.jdbc.kernel.exps.Variable var)
public PCPath(SubQ sub)
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(org.apache.openjpa.jdbc.kernel.exps.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
public String getXPath()
public String getPCPathString()
public ClassMapping getClassMapping(ExpState state)
public FieldMapping getFieldMapping(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()
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
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
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 void verifyIndexedField()
public int length(Select sel, ExpContext ctx, ExpState state)
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.public void appendIsEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public void appendIsNotEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public void appendIndex(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public void appendType(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public void appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public void appendIsNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public void appendIsNotNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
Val
public boolean isSubqueryPath()
public int hashCode()
hashCode
in class CandidatePath
public boolean equals(Object other)
equals
in class CandidatePath
public int getId()
Copyright © 2006–2018 Apache Software Foundation. All rights reserved.