|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
org.eclipse.persistence.jpa.jpql.model.query.AbstractRangeVariableDeclarationStateObject
org.eclipse.persistence.jpa.jpql.model.query.RangeVariableDeclarationStateObject
public class RangeVariableDeclarationStateObject
Range variable declarations allow the developer to designate a "root" for objects which may not
be reachable by navigation. In order to select values by comparing more than one instance of an
entity abstract schema type, more than one identification variable ranging over the abstract
schema type is needed in the FROM
clause.
range_variable_declaration ::= abstract_schema_name [AS] identification_variable
RangeVariableDeclaration
Field Summary |
---|
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractRangeVariableDeclarationStateObject |
---|
AS_PROPERTY, IDENTIFICATION_VARIABLE_PROPERTY |
Constructor Summary | |
---|---|
RangeVariableDeclarationStateObject(AbstractModifyClauseStateObject parent)
Creates a new RangeVariableDeclarationStateObject . |
|
RangeVariableDeclarationStateObject(IdentificationVariableDeclarationStateObject parent)
Creates a new RangeVariableDeclarationStateObject . |
|
RangeVariableDeclarationStateObject(IdentificationVariableDeclarationStateObject parent,
java.lang.String entityName)
Creates a new RangeVariableDeclarationStateObject . |
Method Summary | |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this StateObject by the given visitor . |
RangeVariableDeclarationStateObject |
addAs()
Makes sure the AS identifier is specified. |
protected StateObject |
buildRootStateObject()
|
IEntity |
getEntity()
Returns the actual IEntity that has the abstract schema name. |
java.lang.String |
getEntityName()
Returns the abstract schema name. |
IManagedType |
getManagedType(StateObject stateObject)
Returns the IManagedType for the given identification variable. |
java.lang.String |
getRootPath()
Returns the "root" object for objects which may not be reachable by navigation. |
AbstractSchemaNameStateObject |
getRootStateObject()
Returns the StateObject holding onto the abstract schema name. |
void |
setDeclaration(IEntity entity)
Sets the abstract schema name to the given value. |
void |
setDeclaration(IEntity entity,
java.lang.String identificationVariable)
Sets the abstract schema name to the given value and the identification variable that will range over it. |
void |
setDeclaration(java.lang.String entityName,
java.lang.String identificationVariable)
Sets the abstract schema name to the given value and the identification variable that will range over it. |
void |
setEntity(IEntity entity)
Sets the actual IEntity and updates the abstract schema name. |
void |
setEntityName(java.lang.String abstractSchemaName)
Sets the name of the abstract schema, which is the name of the entity. |
void |
setRootPath(java.lang.String root)
Sets the "root" object for objects which may not be reachable by navigation. |
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractRangeVariableDeclarationStateObject |
---|
addChildren, addProblems, getExpression, getIdentificationVariable, getIdentificationVariableStateObject, hasAs, hasIdentificationVariable, identificationVariables, initialize, isEquivalent, isIdentificationVariableOptional, isIdentificationVariableVirtual, setAs, setExpression, setIdentificationVariable, setIdentificationVariableOptional, toggleAs, toTextInternal |
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject |
---|
acceptUnknownVisitor, acceptUnknownVisitor, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, findIdentificationVariable, firePropertyChanged, getChangeSupport, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.persistence.jpa.jpql.model.query.StateObject |
---|
addPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toText |
Constructor Detail |
---|
public RangeVariableDeclarationStateObject(AbstractModifyClauseStateObject parent)
RangeVariableDeclarationStateObject
.
parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public RangeVariableDeclarationStateObject(IdentificationVariableDeclarationStateObject parent)
RangeVariableDeclarationStateObject
.
parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public RangeVariableDeclarationStateObject(IdentificationVariableDeclarationStateObject parent, java.lang.String entityName)
RangeVariableDeclarationStateObject
.
parent
- The parent of this state object, which cannot be null
entityName
- The name of the abstract schema, which is the name of the entity
java.lang.NullPointerException
- The given parent cannot be null
Method Detail |
---|
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.
visitor
- The visitor
to visit this objectpublic RangeVariableDeclarationStateObject addAs()
AS
identifier is specified.
addAs
in class AbstractRangeVariableDeclarationStateObject
protected StateObject buildRootStateObject()
buildRootStateObject
in class AbstractRangeVariableDeclarationStateObject
public IEntity getEntity()
IEntity
that has the abstract schema name.
IEntity
or null
if no entity existspublic java.lang.String getEntityName()
public IManagedType getManagedType(StateObject stateObject)
IManagedType
for the given identification variable. The search does not
traverse up the query hierarchy if this declaration is for a subquery.
SELECT e FROM Department d JOIN KEY(d.employees).addresses a
In the above query, the managed type associated with the identification variable:
stateObject
- The StateObject
that should be an simple identification variable or
an encapsulated identification variable with the identifier KEY
or
VALUE
IManagedType
representing the domain object declared by the given
identification variablepublic java.lang.String getRootPath()
getRootPath
in class AbstractRangeVariableDeclarationStateObject
public AbstractSchemaNameStateObject getRootStateObject()
StateObject
holding onto the abstract schema name.
getRootStateObject
in class AbstractRangeVariableDeclarationStateObject
StateObject
, which is never null
public void setDeclaration(IEntity entity)
entity
- The IEntity
that this clause will range overpublic void setDeclaration(IEntity entity, java.lang.String identificationVariable)
entity
- The IEntity
that this clause will range overidentificationVariable
- The new identification variablepublic void setDeclaration(java.lang.String entityName, java.lang.String identificationVariable)
entityName
- The name of the entity nameidentificationVariable
- The new identification variablepublic void setEntity(IEntity entity)
IEntity
and updates the abstract schema name.
entity
- The IEntity
that the clause will range overpublic void setEntityName(java.lang.String abstractSchemaName)
abstractSchemaName
- The name of the abstract schema, which is the name of the entitypublic void setRootPath(java.lang.String root)
setRootPath
in class AbstractRangeVariableDeclarationStateObject
root
- The "root" object
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |