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, toTextEncapsulatedExpressiontoTextInternalacceptUnknownVisitor, 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, toTextpublic 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 nullidentifier - One of the three possible JPQL identifiers: ALL,
ANY or SOMEAssert.AssertException - The given JPQL identifier
is one from the possible choicesjava.lang.NullPointerException - The given parent cannot be nullpublic AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, StateObject stateObject)
AllOrAnyExpressionStateObject.parent - The parent of this state object, which cannot be nullidentifier - One of the three possible JPQL identifiers: ALL,
ANY or SOMEstateObject - The StateObject representing the encapsulated expressionAssert.AssertException - The given JPQL identifier
is one from the possible choicesjava.lang.NullPointerException - The given parent cannot be nullpublic AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, java.lang.String jpqlFragment)
AllOrAnyExpressionStateObject.parent - The parent of this state object, which cannot be nullidentifier - One of the three possible JPQL identifiers: ALL,
ANY or SOMEjpqlFragment - 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 nullpublic 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 StateObjectgetExpression in class AbstractSingleEncapsulatedExpressionStateObjectStateObject
or null when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
AbstractSingleEncapsulatedExpressionStateObject.getIdentifier in class AbstractEncapsulatedExpressionStateObjectprotected java.lang.String getQueryBNFId()
JPQLQueryBNF that will determine how to parse the encapsulated expression.getQueryBNFId in class AbstractSingleEncapsulatedExpressionStateObjectnull 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 StateObjectisEquivalent in class AbstractSingleEncapsulatedExpressionStateObjectstateObject - 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 SOMEAssert.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 AbstractSingleEncapsulatedExpressionStateObjectstateObject - The new encapsulated StateObject