public abstract class AbstractRangeVariableDeclarationStateObject extends AbstractStateObject implements VariableDeclarationStateObject
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
AS_PROPERTY
Notifies the visibility of the
AS identifier has changed. |
static java.lang.String |
IDENTIFICATION_VARIABLE_PROPERTY
Notifies the identification variable property has changed.
|
| Constructor and Description |
|---|
AbstractRangeVariableDeclarationStateObject(AbstractIdentificationVariableDeclarationStateObject parent)
Creates a new
RangeVariableDeclarationStateObject. |
AbstractRangeVariableDeclarationStateObject(AbstractIdentificationVariableDeclarationStateObject parent,
java.lang.String root)
Creates a new
RangeVariableDeclarationStateObject. |
AbstractRangeVariableDeclarationStateObject(AbstractModifyClauseStateObject parent)
Creates a new
AbstractRangeVariableDeclarationStateObject. |
| Modifier and Type | Method and Description |
|---|---|
AbstractRangeVariableDeclarationStateObject |
addAs()
Makes sure the
AS identifier is specified. |
RangeVariableDeclaration |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
java.lang.String |
getIdentificationVariable()
Returns the identification variable name that is ranging over the abstract schema type.
|
IdentificationVariableStateObject |
getIdentificationVariableStateObject()
Returns the
IdentificationVariableStateObject holding onto the identification variable. |
abstract java.lang.String |
getRootPath()
Returns the "root" object for objects which may not be reachable by navigation.
|
StateObject |
getRootStateObject()
Returns the
StateObject holding onto the abstract schema name. |
boolean |
hasAs()
Determines whether the
AS identifier is used or not. |
boolean |
hasIdentificationVariable()
Determines whether an identification variable was defined.
|
ListIterable<IdentificationVariableStateObject> |
identificationVariables()
Returns the
IdentificationVariableStateObject that are used by this state object. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given
StateObject is equivalent to this one, i.e. |
boolean |
isIdentificationVariableOptional()
Determines whether the identification variable is optional or not.
|
boolean |
isIdentificationVariableVirtual()
Determines whether this identification variable is virtual, meaning it's not part of the query
but is required for proper navigability.
|
void |
setAs(boolean as)
Sets whether the
AS identifier is used or not. |
void |
setExpression(RangeVariableDeclaration expression)
Keeps a reference of the
parsed object object, which should
only be* done when this object is instantiated during the conversion of a parsed JPQL query
into StateObjects. |
void |
setIdentificationVariable(java.lang.String identificationVariable)
Sets the new identification variable that will range over the "root" object.
|
abstract void |
setRootPath(java.lang.String root)
Sets the "root" object for objects which may not be reachable by navigation.
|
void |
toggleAs()
Toggles the usage of the
AS identifier. |
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toTextgetManagedTypeaccept, addPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toTextpublic static final java.lang.String AS_PROPERTY
AS identifier has changed.public static final java.lang.String IDENTIFICATION_VARIABLE_PROPERTY
public AbstractRangeVariableDeclarationStateObject(AbstractIdentificationVariableDeclarationStateObject parent)
RangeVariableDeclarationStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic AbstractRangeVariableDeclarationStateObject(AbstractIdentificationVariableDeclarationStateObject parent, java.lang.String root)
RangeVariableDeclarationStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic AbstractRangeVariableDeclarationStateObject(AbstractModifyClauseStateObject parent)
AbstractRangeVariableDeclarationStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic AbstractRangeVariableDeclarationStateObject addAs()
AS identifier is specified.public RangeVariableDeclaration getExpression()
StateObject representation of the JPQL query
was created by parsing an existing JPQL query.getExpression in interface StateObjectgetExpression in class AbstractStateObjectStateObject
or null when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentificationVariable()
public IdentificationVariableStateObject getIdentificationVariableStateObject()
IdentificationVariableStateObject holding onto the identification variable.IdentificationVariableStateObject, which is never nullpublic abstract java.lang.String getRootPath()
public StateObject getRootStateObject()
StateObject holding onto the abstract schema name.StateObject, which is never nullpublic boolean hasAs()
AS identifier is used or not.true if the AS identifier is part of the expression;
false otherwisepublic boolean hasIdentificationVariable()
true if an identification variable is defined; false otherwisepublic ListIterable<IdentificationVariableStateObject> identificationVariables()
IdentificationVariableStateObject that are used by this state object. It
is possible more than one declaration exists, like a range variable declaration has also joins
and join fetches.identificationVariables in interface VariableDeclarationStateObjectIdentificationVariableStateObjectpublic boolean isEquivalent(StateObject stateObject)
StateObject is equivalent to this one, i.e. the
information of both StateObject is the same.isEquivalent in interface StateObjectisEquivalent in class AbstractStateObjectstateObject - The StateObject to compare its content to this onetrue if both object are equivalent; false otherwisepublic boolean isIdentificationVariableOptional()
DELETE or
UPDATE).true if an identification variable is not required; false if
it is requiredpublic boolean isIdentificationVariableVirtual()
true if this identification variable was virtually created to fully
qualify path expression; false if it was parsedpublic void setAs(boolean as)
AS identifier is used or not.as - true if the AS identifier is part of the
expression; false otherwisepublic void setExpression(RangeVariableDeclaration expression)
parsed object object, which should
only be* done when this object is instantiated during the conversion of a parsed JPQL query
into StateObjects.expression - The parsed object representing a range
variable declarationpublic void setIdentificationVariable(java.lang.String identificationVariable)
identificationVariable - The new identification variablepublic abstract void setRootPath(java.lang.String root)
root - The "root" objectpublic void toggleAs()
AS identifier.EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference