Class SubstringExpressionStateObject
- 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.AbstractTripleEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.SubstringExpressionStateObject
-
- All Implemented Interfaces:
StateObject
public class SubstringExpressionStateObject extends AbstractTripleEncapsulatedExpressionStateObject
The second and third arguments of theSUBSTRING
function denote the starting position and length of the substring to be returned. These arguments are integers. The first position of a string is denoted by 1. TheSUBSTRING
function returns a string.JPA 1.0:
BNF ::= SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)JPA 2.0:BNF ::= SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])- Version:
- 2.4
- See Also:
SubstringExpression
- Author:
- Pascal Filion
- Since:
- 2.4
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractTripleEncapsulatedExpressionStateObject
FIRST_STATE_OBJECT_PROPERTY, SECOND_STATE_OBJECT_PROPERTY, THIRD_STATE_OBJECT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description SubstringExpressionStateObject(StateObject parent)
Creates a newSubstringExpressionStateObject
.SubstringExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment)
Creates a newSubstringExpressionStateObject
.SubstringExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment, java.lang.String thirdJpqlFragment)
Creates a newSubstringExpressionStateObject
.SubstringExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject)
Creates a newSubstringExpressionStateObject
.SubstringExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject, StateObject thirdStateObject)
Creates a newSubstringExpressionStateObject
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.SubstringExpression
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.protected java.lang.String
getFirstQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the first encapsulated expression.java.lang.String
getIdentifier()
Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject
.protected java.lang.String
getSecondQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the second encapsulated expression.protected java.lang.String
getThirdQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the third encapsulated expression.void
setExpression(SubstringExpression 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
.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractTripleEncapsulatedExpressionStateObject
addChildren, getFirst, getSecond, getThird, hasFirst, hasSecond, hasThird, isEquivalent, parseFirst, parseSecond, parseThird, setFirst, setSecond, setThird, 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
-
SubstringExpressionStateObject
public SubstringExpressionStateObject(StateObject parent)
Creates a newSubstringExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
SubstringExpressionStateObject
public SubstringExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject)
Creates a newSubstringExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
firstStateObject
- TheStateObject
of the first expressionsecondStateObject
- TheStateObject
of the second expression- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
SubstringExpressionStateObject
public SubstringExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject, StateObject thirdStateObject)
Creates a newSubstringExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
firstStateObject
- TheStateObject
of the first expressionsecondStateObject
- TheStateObject
of the second expressionthirdStateObject
- TheStateObject
of the third encapsulated expression- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
SubstringExpressionStateObject
public SubstringExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment)
Creates a newSubstringExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
firstJpqlFragment
- The string representation of the first encapsulated expression to parse and to convert into aStateObject
representationsecondJpqlFragment
- The string representation of the second encapsulated expression to parse and to convert into aStateObject
representation- Throws:
java.lang.NullPointerException
- The given parent cannot benull
-
SubstringExpressionStateObject
public SubstringExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment, java.lang.String thirdJpqlFragment)
Creates a newSubstringExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
firstJpqlFragment
- The string representation of the first encapsulated expression to parse and to convert into aStateObject
representationsecondJpqlFragment
- The string representation of the second encapsulated expression to parse and to convert into aStateObject
representationthirdJpqlFragment
- The string representation of the third encapsulated expression to parse and to convert into aStateObject
representation- 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 SubstringExpression 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 classAbstractTripleEncapsulatedExpressionStateObject
- 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)
-
getFirstQueryBNFId
protected java.lang.String getFirstQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the first encapsulated expression.- Specified by:
getFirstQueryBNFId
in classAbstractTripleEncapsulatedExpressionStateObject
- Returns:
- The query BNF ID for the first encapsulated expression
-
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
-
getSecondQueryBNFId
protected java.lang.String getSecondQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the second encapsulated expression.- Specified by:
getSecondQueryBNFId
in classAbstractTripleEncapsulatedExpressionStateObject
- Returns:
- The query BNF ID for the second encapsulated expression
-
getThirdQueryBNFId
protected java.lang.String getThirdQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the third encapsulated expression.- Specified by:
getThirdQueryBNFId
in classAbstractTripleEncapsulatedExpressionStateObject
- Returns:
- The query BNF ID for the third encapsulated expression
-
setExpression
public void setExpression(SubstringExpression 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 aSUBSTRING
expression
-
-