public class AllOrAnyExpressionStateObject extends AbstractSingleEncapsulatedExpressionStateObject
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.
all_or_any_expression ::= {ALL|ANY|SOME}(subquery)
AllOrAnyExpression
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
IDENTIFIER_PROPERTY
Notifies the identifier property has changed.
|
STATE_OBJECT_PROPERTY
Constructor and Description |
---|
AllOrAnyExpressionStateObject(StateObject parent,
java.lang.String identifier)
Creates a new
AllOrAnyExpressionStateObject . |
AllOrAnyExpressionStateObject(StateObject parent,
java.lang.String identifier,
StateObject stateObject)
Creates a new
AllOrAnyExpressionStateObject . |
AllOrAnyExpressionStateObject(StateObject parent,
java.lang.String identifier,
java.lang.String jpqlFragment)
Creates a new
AllOrAnyExpressionStateObject . |
Modifier and Type | Method and Description |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor . |
AllOrAnyExpression |
getExpression()
Returns the actual parsed object if this
StateObject 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 this
AbstractSingleEncapsulatedExpressionStateObject . |
protected java.lang.String |
getQueryBNFId()
Returns the unique identifier of the
JPQLQueryBNF that will determine how to parse the encapsulated expression. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given
StateObject is equivalent to this one, i.e. the
information of both StateObject is the same. |
void |
setExpression(AllOrAnyExpression expression)
Keeps a reference of the
parsed object object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects . |
void |
setIdentifier(java.lang.String identifier)
Sets the JPQL identifier to the given one.
|
void |
setStateObject(StateObject stateObject)
Sets the given
StateObject to represent the new encapsulated expression. |
addChildren, getStateObject, hasStateObject, parse, toTextEncapsulatedExpression
toTextInternal
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
public static final java.lang.String IDENTIFIER_PROPERTY
public AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier)
AllOrAnyExpressionStateObject
.parent
- The parent of this state object, which cannot be null
identifier
- One of the three possible JPQL identifiers: ALL
,
ANY
or SOME
Assert.AssertException
- The given JPQL identifier
is one from the possible choicesjava.lang.NullPointerException
- The given parent cannot be null
public AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, StateObject stateObject)
AllOrAnyExpressionStateObject
.parent
- The parent of this state object, which cannot be null
identifier
- One of the three possible JPQL identifiers: ALL
,
ANY
or SOME
stateObject
- The StateObject
representing the encapsulated expressionAssert.AssertException
- The given JPQL identifier
is one from the possible choicesjava.lang.NullPointerException
- The given parent cannot be null
public AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, java.lang.String jpqlFragment)
AllOrAnyExpressionStateObject
.parent
- The parent of this state object, which cannot be null
identifier
- One of the three possible JPQL identifiers: ALL
,
ANY
or SOME
jpqlFragment
- The portion of the query representing the encapsulated expressionAssert.AssertException
- The given JPQL identifier
is one from the possible choicesjava.lang.NullPointerException
- The given parent cannot be null
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.visitor
- The visitor
to visit this objectpublic AllOrAnyExpression getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.getExpression
in interface StateObject
getExpression
in class AbstractSingleEncapsulatedExpressionStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
AbstractSingleEncapsulatedExpressionStateObject
.getIdentifier
in class AbstractEncapsulatedExpressionStateObject
protected java.lang.String getQueryBNFId()
JPQLQueryBNF
that will determine how to parse the encapsulated expression.getQueryBNFId
in class AbstractSingleEncapsulatedExpressionStateObject
null
ID of the BNFpublic boolean isEquivalent(StateObject stateObject)
StateObject
is equivalent to this one, i.e. the
information of both StateObject
is the same.isEquivalent
in interface StateObject
isEquivalent
in class AbstractSingleEncapsulatedExpressionStateObject
stateObject
- The StateObject
to compare its content to this onetrue
if both object are equivalent; false
otherwisepublic void setExpression(AllOrAnyExpression expression)
parsed object
object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects
.expression
- The parsed object
representing an ALL
,
ANY
or SOME
expressionpublic void setIdentifier(java.lang.String identifier)
identifier
- One of the three possible JPQL identifiers: ALL
,
ANY
or SOME
Assert.AssertException
- The given JPQL identifier
is one from the possible choicespublic void setStateObject(StateObject stateObject)
StateObject
to represent the new encapsulated expression.setStateObject
in class AbstractSingleEncapsulatedExpressionStateObject
stateObject
- The new encapsulated StateObject