Class IdentificationVariableStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.IdentificationVariableStateObject
-
- All Implemented Interfaces:
StateObject
public class IdentificationVariableStateObject extends SimpleStateObject
This state object represents a single identification variable, which is identifying TODO.- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
- See Also:
IdentificationVariable
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFINED_PROPERTYNotify a change in the defined property.-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleStateObject
TEXT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description IdentificationVariableStateObject(StateObject parent)Creates a newIdentificationVariableStateObject.IdentificationVariableStateObject(StateObject parent, String variable)Creates a newIdentificationVariableStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.IdentificationVariablegetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.IManagedTypegetManagedType()Returns theIManagedTypeassociated with the field handled by this object.IMappinggetMapping()ReturnsITypegetType()Returns theITypeof the field handled by this object.ITypeDeclarationgetTypeDeclaration()Returns theITypeDeclarationof the field handled by this object.booleanisEquivalent(StateObject stateObject)Determines whether the givenStateObjectis equivalent to this one, i.e.booleanisVirtual()Determines whether this identification variable is virtual, meaning it's not part of the query but is required for proper navigability.voidsetExpression(IdentificationVariable expression)Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.voidsetText(String text)Sets the text held by this state object.voidsetVirtual(boolean virtual)Sets whether this identification variable is virtual, meaning it's not part of the query but is required for proper navigability.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.SimpleStateObject
getText, hasText
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
-
-
-
-
Field Detail
-
DEFINED_PROPERTY
public static final String DEFINED_PROPERTY
Notify a change in the defined property.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IdentificationVariableStateObject
public IdentificationVariableStateObject(StateObject parent)
Creates a newIdentificationVariableStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
NullPointerException- The given parent cannot benull
-
IdentificationVariableStateObject
public IdentificationVariableStateObject(StateObject parent, String variable)
Creates a newIdentificationVariableStateObject.- Parameters:
parent- The parent of this state object, which cannot benullvariable- The name of the identification variable- Throws:
NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
getExpression
public IdentificationVariable getExpression()
Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
getManagedType
public IManagedType getManagedType()
Returns theIManagedTypeassociated with the field handled by this object. If this object does not handle a field that has aIManagedType, thennullshould be returned.For example: "
SELECT e FROM Employee e", the object for e would be returning theIManagedTypefor Employee.- Returns:
- Either the
IManagedType, if it could be resolved;nullotherwise
-
getMapping
public IMapping getMapping()
Returns- Returns:
-
getType
public IType getType()
Returns theITypeof the field handled by this object.- Returns:
- Either the
ITypethat was resolved by this state object or theITypeforIType.UNRESOLVABLE_TYPEif it could not be resolved
-
getTypeDeclaration
public ITypeDeclaration getTypeDeclaration()
Returns theITypeDeclarationof the field handled by this object.- Returns:
- Either the
ITypeDeclarationthat was resolved by this object or theITypeDeclarationforIType.UNRESOLVABLE_TYPEif it could not be resolved
-
isEquivalent
public boolean isEquivalent(StateObject stateObject)
Determines whether the givenStateObjectis equivalent to this one, i.e. the information of bothStateObjectis the same.- Specified by:
isEquivalentin interfaceStateObject- Overrides:
isEquivalentin classSimpleStateObject- Parameters:
stateObject- TheStateObjectto compare its content to this one- Returns:
trueif both object are equivalent;falseotherwise
-
isVirtual
public boolean isVirtual()
Determines whether this identification variable is virtual, meaning it's not part of the query but is required for proper navigability.- Returns:
trueif this identification variable was virtually created to fully qualify path expression;falseif it was parsed
-
setExpression
public void setExpression(IdentificationVariable expression)
Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.- Parameters:
expression- Theparsed objectrepresenting an identification variable
-
setText
public void setText(String text)
Sets the text held by this state object.- Overrides:
setTextin classSimpleStateObject- Parameters:
text- This model's text value
-
setVirtual
public void setVirtual(boolean virtual)
Sets whether this identification variable is virtual, meaning it's not part of the query but is required for proper navigability.- Parameters:
virtual-trueif this identification variable was virtually created to fully qualify path expression;falseif it was parsed
-
-