Class LocateExpressionStateObject
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.LocateExpressionStateObject
- All Implemented Interfaces:
StateObject
The
LOCATE function returns the position of a given string within a string,
starting the search at a specified position. It returns the first position at which the string
was found as an integer. The first argument is the string to be located; the second argument is
the string to be searched; the optional third argument is an integer that represents the string
position at which the search is started (by default, the beginning of the string to be searched).
The first position in a string is denoted by 1. If the string is not found, 0 is returned.
BNF: expression ::= LOCATE(string_primary, string_primary [, simple_arithmetic_expression])
- Since:
- 2.4
- Version:
- 2.4
- See Also:
-
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
ConstructorsConstructorDescriptionCreates a newLocateExpressionStateObject.LocateExpressionStateObject(StateObject parent, String firstJpqlFragment, String secondJpqlFragment) Creates a newLocateExpressionStateObject.LocateExpressionStateObject(StateObject parent, String firstJpqlFragment, String secondJpqlFragment, String thirdJpqlFragment) Creates a newLocateExpressionStateObject.LocateExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject) Creates a newLocateExpressionStateObject.LocateExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject, StateObject thirdStateObject) Creates a newLocateExpressionStateObject. -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(StateObjectVisitor visitor) Visits thisStateObjectby the givenvisitor.Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.protected StringReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the first encapsulated expression.Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject.protected StringReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the second encapsulated expression.protected StringReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the third encapsulated expression.voidsetExpression(LocateExpression 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.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, toTextEncapsulatedExpressionMethods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
toTextInternalMethods 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 Details
-
LocateExpressionStateObject
Creates a newLocateExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
NullPointerException- The given parent cannot benull
-
LocateExpressionStateObject
public LocateExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject) Creates a newLocateExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullfirstStateObject- TheStateObjectof the first expressionsecondStateObject- TheStateObjectof the second expression- Throws:
NullPointerException- The given parent cannot benull
-
LocateExpressionStateObject
public LocateExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject, StateObject thirdStateObject) Creates a newLocateExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullfirstStateObject- TheStateObjectof the first expressionsecondStateObject- TheStateObjectof the second expressionthirdStateObject- TheStateObjectof the third encapsulated expression- Throws:
NullPointerException- The given parent cannot benull
-
LocateExpressionStateObject
public LocateExpressionStateObject(StateObject parent, String firstJpqlFragment, String secondJpqlFragment) Creates a newLocateExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullfirstJpqlFragment- The string representation of the first encapsulated expression to parse and to convert into aStateObjectrepresentationsecondJpqlFragment- The string representation of the second encapsulated expression to parse and to convert into aStateObjectrepresentation- Throws:
NullPointerException- The given parent cannot benull
-
LocateExpressionStateObject
public LocateExpressionStateObject(StateObject parent, String firstJpqlFragment, String secondJpqlFragment, String thirdJpqlFragment) Creates a newLocateExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullfirstJpqlFragment- The string representation of the first encapsulated expression to parse and to convert into aStateObjectrepresentationsecondJpqlFragment- The string representation of the second encapsulated expression to parse and to convert into aStateObjectrepresentationthirdJpqlFragment- The string representation of the third encapsulated expression to parse and to convert into aStateObjectrepresentation- Throws:
NullPointerException- The given parent cannot benull
-
-
Method Details
-
accept
Description copied from interface:StateObjectVisits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
getExpression
Description copied from interface:StateObjectReturns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractTripleEncapsulatedExpressionStateObject- 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)
-
getFirstQueryBNFId
Description copied from class:AbstractTripleEncapsulatedExpressionStateObjectReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the first encapsulated expression.- Specified by:
getFirstQueryBNFIdin classAbstractTripleEncapsulatedExpressionStateObject- Returns:
- The query BNF ID for the first encapsulated expression
-
getIdentifier
Description copied from class:AbstractEncapsulatedExpressionStateObjectReturns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject.- Specified by:
getIdentifierin classAbstractEncapsulatedExpressionStateObject- Returns:
- The JPQL identifier that is shown before the left parenthesis
-
getSecondQueryBNFId
Description copied from class:AbstractTripleEncapsulatedExpressionStateObjectReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the second encapsulated expression.- Specified by:
getSecondQueryBNFIdin classAbstractTripleEncapsulatedExpressionStateObject- Returns:
- The query BNF ID for the second encapsulated expression
-
getThirdQueryBNFId
Description copied from class:AbstractTripleEncapsulatedExpressionStateObjectReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the third encapsulated expression.- Specified by:
getThirdQueryBNFIdin classAbstractTripleEncapsulatedExpressionStateObject- Returns:
- The query BNF ID for the third encapsulated expression
-
setExpression
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 aLOCATEexpression
-