Class SubQ
java.lang.Object
org.apache.openjpa.jdbc.kernel.exps.SubQ
- All Implemented Interfaces:
Serializable
,Val
,Subquery
,Value
A subquery.
- Author:
- Abe White
- See Also:
-
Field Summary
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
acceptVisit
(ExpressionVisitor visitor) Accept a visit from a tree visitor.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, int index) Append theindex
th SQL element to the given buffer.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.getAlias()
Return select item aliasReturn the subquery candidate type.Return the candidate alias for this subquery.int
getId()
Return any associated persistent type.getName()
getPath()
Return 'this' concrete class if alias is set, otherwise nullboolean
getSubs()
getType()
Return the expected type for this value, orObject
if the type is unknown.void
groupBy
(Select sel, ExpContext ctx, ExpState state) Group by this value.initialize
(Select sel, ExpContext ctx, int flags) Initialize the value.boolean
Return true if this value is an aggregate.boolean
Return true if this value is a variable.boolean
isXPath()
Return true if this value is an XML Path.int
length
(Select sel, ExpContext ctx, ExpState state) Return the number of SQL elements in this value.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
Set select item aliasvoid
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
Set the parsed subquery.void
setSubqAlias
(String subqAlias) toDataStoreValue
(Select sel, ExpContext ctx, ExpState state, Object val) Return the datastore value of the given object in the context of this value.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.openjpa.kernel.exps.Value
getAlias, getName, getPath, isAggregate, isVariable, isXPath, setAlias
-
Field Details
-
TRUE
- See Also:
-
FALSE
- See Also:
-
-
Constructor Details
-
SubQ
Constructor. Supply candidate, whether subclasses are included in the query, and the query alias.
-
-
Method Details
-
getSelect
-
getCandidate
Return the subquery candidate type. -
getSubs
public boolean getSubs() -
setSubqAlias
- Specified by:
setSubqAlias
in interfaceSubquery
-
getSubqAlias
- Specified by:
getSubqAlias
in interfaceSubquery
-
getType
Description copied from interface:Value
Return the expected type for this value, orObject
if the type is unknown. -
setImplicitType
Description copied from interface:Value
Set the implicit type of the value, based on how it is used in the filter. This method is only called on values who returnObject
fromValue.getType()
.- Specified by:
setImplicitType
in interfaceValue
-
getMetaData
Description copied from interface:Value
Return any associated persistent type.- Specified by:
getMetaData
in interfaceValue
-
setMetaData
Description copied from interface:Value
Associate a persistent type with this value.- Specified by:
setMetaData
in interfaceValue
-
getCandidateAlias
Description copied from interface:Subquery
Return the candidate alias for this subquery.- Specified by:
getCandidateAlias
in interfaceSubquery
-
setQueryExpressions
Description copied from interface:Subquery
Set the parsed subquery.- Specified by:
setQueryExpressions
in interfaceSubquery
-
initialize
Description copied from interface:Val
Initialize the value. This method should recursively initialize any sub-values.- Specified by:
initialize
in interfaceVal
-
toDataStoreValue
Description copied from interface:Val
Return the datastore value of the given object in the context of this value.- Specified by:
toDataStoreValue
in interfaceVal
-
select
Description copied from interface:Val
Select the data for this value. -
selectColumns
Description copied from interface:Val
Select just the columns for this value.- Specified by:
selectColumns
in interfaceVal
-
groupBy
Description copied from interface:Val
Group by this value. -
orderBy
Description copied from interface:Val
Order by this value. -
load
Description copied from interface:Val
Load the data for this value.- Specified by:
load
in interfaceVal
- Throws:
SQLException
-
calculateValue
public void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState) Description copied from interface:Val
Calculate and cache the SQL for this value. This method is called beforelength
or anyappend
methods.- Specified by:
calculateValue
in interfaceVal
other
- the value being compared to, or null if not a comparison
-
length
Description copied from interface:Val
Return the number of SQL elements in this value. -
appendTo
Description copied from interface:Val
Append theindex
th SQL element to the given buffer. -
appendIsEmpty
Description copied from interface:Val
Append the SQL testing whether this value is empty to the given buffer.- Specified by:
appendIsEmpty
in interfaceVal
-
appendIsNotEmpty
Description copied from interface:Val
Append the SQL testing whether this value is not empty to the given buffer.- Specified by:
appendIsNotEmpty
in interfaceVal
-
appendSize
Description copied from interface:Val
Append the SQL checking the size of this value.- Specified by:
appendSize
in interfaceVal
-
acceptVisit
Description copied from interface:Value
Accept a visit from a tree visitor.- Specified by:
acceptVisit
in interfaceValue
-
isVariable
public boolean isVariable()Description copied from interface:Value
Return true if this value is a variable.- Specified by:
isVariable
in interfaceValue
-
isAggregate
public boolean isAggregate()Description copied from interface:Value
Return true if this value is an aggregate.- Specified by:
isAggregate
in interfaceValue
-
isXPath
public boolean isXPath()Description copied from interface:Value
Return true if this value is an XML Path. -
appendIsNull
Description copied from interface:Val
Append the SQL testing whether this value is null to the given buffer.- Specified by:
appendIsNull
in interfaceVal
-
appendIsNotNull
Description copied from interface:Val
Append the SQL testing whether this value is not null to the given buffer.- Specified by:
appendIsNotNull
in interfaceVal
-
appendIndex
Description copied from interface:Val
Append the SQL checking the index of this value.- Specified by:
appendIndex
in interfaceVal
-
appendType
Description copied from interface:Val
Append the SQL checking the type of this value.- Specified by:
appendType
in interfaceVal
-
getId
public int getId() -
getAlias
Description copied from interface:Value
Return select item alias -
setAlias
Description copied from interface:Value
Set select item alias -
getSelectAs
Description copied from interface:Value
Return 'this' concrete class if alias is set, otherwise null- Specified by:
getSelectAs
in interfaceVal
- Specified by:
getSelectAs
in interfaceValue
-
getPath
-
getName
-