Class SubExpressionStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.SubExpressionStateObject
-
- All Implemented Interfaces:
StateObject
public class SubExpressionStateObject extends AbstractSingleEncapsulatedExpressionStateObject
This expression wraps a sub-expression within parenthesis.BNF:expression ::= (sub_expression)
- Version:
- 2.4
- See Also:
SubExpression
- Author:
- Pascal Filion
- Since:
- 2.4
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description SubExpressionStateObject(StateObject parent)
Creates a newSubExpressionStateObject
.SubExpressionStateObject(StateObject parent, java.lang.String jpqlFragment, java.lang.String queryBNFId)
Creates a newSubExpressionStateObject
.SubExpressionStateObject(StateObject parent, StateObject stateObject)
Creates a newSubExpressionStateObject
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.SubExpression
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.java.lang.String
getIdentifier()
Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject
.protected java.lang.String
getQueryBNFId()
Returns the unique identifier of theJPQLQueryBNF
that will determine how to parse the encapsulated expression.void
setExpression(SubExpression expression)
Keeps a reference of theparsed object
object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects
.void
setQueryBNFId(java.lang.String queryBNFId)
Sets the unique identifier of theJPQLQueryBNF
that is used to parse the encapsulated expression.void
setStateObject(StateObject stateObject)
Sets the givenStateObject
to represent the new encapsulated expression.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
addChildren, getStateObject, hasStateObject, isEquivalent, parse, toTextEncapsulatedExpression
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
toTextInternal
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
acceptUnknownVisitor, acceptUnknownVisitor, addProblems, 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, initialize, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText
-
-
-
-
Constructor Detail
-
SubExpressionStateObject
public SubExpressionStateObject(StateObject parent)
Creates a newSubExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
SubExpressionStateObject
public SubExpressionStateObject(StateObject parent, StateObject stateObject)
Creates a newSubExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
stateObject
- TheStateObject
representing the encapsulated expression- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
SubExpressionStateObject
public SubExpressionStateObject(StateObject parent, java.lang.String jpqlFragment, java.lang.String queryBNFId)
Creates a newSubExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
jpqlFragment
- The portion of the query representing the encapsulated expressionqueryBNFId
- The unique identifier of the.JPQLQueryBNF JPQLQueryBNF
that is used to parse the encapsulated expression- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.- Parameters:
visitor
- Thevisitor
to visit this object
-
getExpression
public SubExpression getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpression
in interfaceStateObject
- Overrides:
getExpression
in classAbstractSingleEncapsulatedExpressionStateObject
- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObject
ornull
when the JPQL query is manually created (i.e. not from a string)
-
getIdentifier
public java.lang.String getIdentifier()
Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject
.- Specified by:
getIdentifier
in classAbstractEncapsulatedExpressionStateObject
- Returns:
- The JPQL identifier that is shown before the left parenthesis
-
getQueryBNFId
protected java.lang.String getQueryBNFId()
Returns the unique identifier of theJPQLQueryBNF
that will determine how to parse the encapsulated expression.- Specified by:
getQueryBNFId
in classAbstractSingleEncapsulatedExpressionStateObject
- Returns:
- The non-
null
ID of the BNF
-
setExpression
public void setExpression(SubExpression expression)
Keeps a reference of theparsed object
object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects
.- Parameters:
expression
- Theparsed object
representing an encapsulated expression
-
setQueryBNFId
public void setQueryBNFId(java.lang.String queryBNFId)
Sets the unique identifier of theJPQLQueryBNF
that is used to parse the encapsulated expression.- Parameters:
queryBNFId
- The non-null
ID of the BNF- Throws:
java.lang.NullPointerException
- The query BNF ID cannot benull
-
setStateObject
public void setStateObject(StateObject stateObject)
Sets the givenStateObject
to represent the new encapsulated expression.- Overrides:
setStateObject
in classAbstractSingleEncapsulatedExpressionStateObject
- Parameters:
stateObject
- The new encapsulatedStateObject
-
-