Class AbstractDoubleEncapsulatedExpressionStateObject
- 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.AbstractDoubleEncapsulatedExpressionStateObject
-
- All Implemented Interfaces:
StateObject
- Direct Known Subclasses:
ModExpressionStateObject
,NullIfExpressionStateObject
public abstract class AbstractDoubleEncapsulatedExpressionStateObject extends AbstractEncapsulatedExpressionStateObject
ThisStateObject
represents a JPQL expression that has a JPQL identifier followed by two an encapsulated expression with parenthesis, the two expression are separated by a comma.BNF:expression ::= <identifier>(first_expression, second_expression)
- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
- See Also:
ModExpressionStateObject
,NullIfExpressionStateObject
,AbstractDoubleEncapsulatedExpression
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FIRST_STATE_OBJECT_PROPERTY
Notifies the firstStateObject
property has changed.static java.lang.String
SECOND_STATE_OBJECT_PROPERTY
Notifies the secondStateObject
property has changed.
-
Constructor Summary
Constructors Constructor Description AbstractDoubleEncapsulatedExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment)
Creates a newAbstractDoubleEncapsulatedExpressionStateObject
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractDoubleEncapsulatedExpression
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.StateObject
getFirst()
Returns theStateObject
representing the first expression.StateObject
getSecond()
Returns theStateObject
representing the second expression.boolean
hasFirst()
Determines whether theStateObject
representing the first encapsulated expression is present or not.boolean
hasSecond()
Determines whether theStateObject
representing the second encapsulated expression is present or not.boolean
isEquivalent(StateObject stateObject)
Determines whether the givenStateObject
is equivalent to this one, i.e.void
parseFirst(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which will represent the first encapsulated expression.void
parseSecond(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which will represent the second encapsulated expression.void
setFirst(StateObject firstStateObject)
Sets the givenStateObject
to represent the first encapsulated expression.void
setSecond(StateObject secondStateObject)
Sets the givenStateObject
to represent the second encapsulated expression.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
getIdentifier
-
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
-
Methods inherited from interface org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject
accept
-
-
-
-
Field Detail
-
FIRST_STATE_OBJECT_PROPERTY
public static final java.lang.String FIRST_STATE_OBJECT_PROPERTY
Notifies the firstStateObject
property has changed.- See Also:
- Constant Field Values
-
SECOND_STATE_OBJECT_PROPERTY
public static final java.lang.String SECOND_STATE_OBJECT_PROPERTY
Notifies the secondStateObject
property has changed.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractDoubleEncapsulatedExpressionStateObject
public AbstractDoubleEncapsulatedExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment)
Creates a newAbstractDoubleEncapsulatedExpressionStateObject
.- 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
-
-
Method Detail
-
getExpression
public AbstractDoubleEncapsulatedExpression 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 classAbstractEncapsulatedExpressionStateObject
- 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)
-
getFirst
public StateObject getFirst()
Returns theStateObject
representing the first expression.- Returns:
- The first encapsulated
StateObject
ornull
if none exists
-
getSecond
public StateObject getSecond()
Returns theStateObject
representing the second expression.- Returns:
- The second encapsulated
StateObject
ornull
if none exists
-
hasFirst
public boolean hasFirst()
Determines whether theStateObject
representing the first encapsulated expression is present or not.- Returns:
true
if the firstStateObject
is notnull
;false
otherwise
-
hasSecond
public boolean hasSecond()
Determines whether theStateObject
representing the second encapsulated expression is present or not.- Returns:
true
if the secondStateObject
is notnull
;false
otherwise
-
isEquivalent
public boolean isEquivalent(StateObject stateObject)
Determines whether the givenStateObject
is equivalent to this one, i.e. the information of bothStateObject
is the same.- Specified by:
isEquivalent
in interfaceStateObject
- Overrides:
isEquivalent
in classAbstractStateObject
- Parameters:
stateObject
- TheStateObject
to compare its content to this one- Returns:
true
if both object are equivalent;false
otherwise
-
parseFirst
public void parseFirst(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which will represent the first encapsulated expression.- Parameters:
jpqlFragment
- The string representation of the first encapsulated expression to parse and to convert into aStateObject
representation
-
parseSecond
public void parseSecond(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which will represent the second encapsulated expression.- Parameters:
jpqlFragment
- The string representation of the second encapsulated expression to parse and to convert into aStateObject
representation
-
setFirst
public void setFirst(StateObject firstStateObject)
Sets the givenStateObject
to represent the first encapsulated expression.- Parameters:
firstStateObject
- The new encapsulatedStateObject
representing the first expression
-
setSecond
public void setSecond(StateObject secondStateObject)
Sets the givenStateObject
to represent the second encapsulated expression.- Parameters:
secondStateObject
- The new encapsulatedStateObject
representing the second expression
-
-