Class AllOrAnyExpressionStateObject
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.AllOrAnyExpressionStateObject
- All Implemented Interfaces:
StateObject
An
ALL
conditional expression is a predicate that is true
if the
comparison operation is true
for all values in the result of the subquery or the
result of the subquery is empty. An ALL
conditional expression is
false
if the result of the comparison is false
for at least one row,
and is unknown if neither true
nor false
.
An ANY
conditional expression is a predicate that is true
if the
comparison operation is true
for some value in the result of the subquery. An
ANY
conditional expression is false
if the result of the
subquery is empty or if the comparison operation is false
for every value in the
esult of the subquery, and is unknown if neither true
nor false
. The
keyword SOME
is synonymous with ANY
. The comparison
operators used with ALL
or ANY
conditional expressions
are =, <, <=, >, >=, <>. The result of the subquery must be like that of the other
argument to the comparison operator in type.
BNF: all_or_any_expression ::= {ALL|ANY|SOME}(subquery)
- Since:
- 2.4
- Version:
- 2.4
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Notifies the identifier property has changed.Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY
-
Constructor Summary
ConstructorDescriptionAllOrAnyExpressionStateObject
(StateObject parent, String identifier) Creates a newAllOrAnyExpressionStateObject
.AllOrAnyExpressionStateObject
(StateObject parent, String identifier, String jpqlFragment) Creates a newAllOrAnyExpressionStateObject
.AllOrAnyExpressionStateObject
(StateObject parent, String identifier, StateObject stateObject) Creates a newAllOrAnyExpressionStateObject
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(StateObjectVisitor visitor) Visits thisStateObject
by the givenvisitor
.Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject
.protected String
Returns the unique identifier of theJPQLQueryBNF
that will determine how to parse the encapsulated expression.boolean
isEquivalent
(StateObject stateObject) Determines whether the givenStateObject
is equivalent to this one, i.e.void
setExpression
(AllOrAnyExpression 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
setIdentifier
(String identifier) Sets the JPQL identifier to the given one.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, 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
-
Field Details
-
IDENTIFIER_PROPERTY
Notifies the identifier property has changed.- See Also:
-
-
Constructor Details
-
AllOrAnyExpressionStateObject
Creates a newAllOrAnyExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
identifier
- One of the three possible JPQL identifiers:ALL
,ANY
orSOME
- Throws:
Assert.AssertException
- The given JPQL identifier is one from the possible choicesNullPointerException
- The given parent cannot benull
-
AllOrAnyExpressionStateObject
public AllOrAnyExpressionStateObject(StateObject parent, String identifier, StateObject stateObject) Creates a newAllOrAnyExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
identifier
- One of the three possible JPQL identifiers:ALL
,ANY
orSOME
stateObject
- TheStateObject
representing the encapsulated expression- Throws:
Assert.AssertException
- The given JPQL identifier is one from the possible choicesNullPointerException
- The given parent cannot benull
-
AllOrAnyExpressionStateObject
Creates a newAllOrAnyExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
identifier
- One of the three possible JPQL identifiers:ALL
,ANY
orSOME
jpqlFragment
- The portion of the query representing the encapsulated expression- Throws:
Assert.AssertException
- The given JPQL identifier is one from the possible choicesNullPointerException
- The given parent cannot benull
-
-
Method Details
-
accept
Description copied from interface:StateObject
Visits thisStateObject
by the givenvisitor
.- Parameters:
visitor
- Thevisitor
to visit this object
-
getExpression
Description copied from interface:StateObject
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
Description copied from class:AbstractEncapsulatedExpressionStateObject
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
Description copied from class:AbstractSingleEncapsulatedExpressionStateObject
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
-
isEquivalent
Description copied from interface: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 classAbstractSingleEncapsulatedExpressionStateObject
- Parameters:
stateObject
- TheStateObject
to compare its content to this one- Returns:
true
if both object are equivalent;false
otherwise
-
setExpression
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 anALL
,ANY
orSOME
expression
-
setIdentifier
Sets the JPQL identifier to the given one.- Parameters:
identifier
- One of the three possible JPQL identifiers:ALL
,ANY
orSOME
- Throws:
Assert.AssertException
- The given JPQL identifier is one from the possible choices
-
setStateObject
Description copied from class:AbstractSingleEncapsulatedExpressionStateObject
Sets the givenStateObject
to represent the new encapsulated expression.- Overrides:
setStateObject
in classAbstractSingleEncapsulatedExpressionStateObject
- Parameters:
stateObject
- The new encapsulatedStateObject
-