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
FieldsModifier and TypeFieldDescriptionstatic final StringNotifies the identifier property has changed.Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY -
Constructor Summary
ConstructorsConstructorDescriptionAllOrAnyExpressionStateObject(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 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.Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject.protected StringReturns the unique identifier of theJPQLQueryBNFthat will determine how to parse the encapsulated expression.booleanisEquivalent(StateObject stateObject) Determines whether the givenStateObjectis equivalent to this one, i.e.voidsetExpression(AllOrAnyExpression 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.voidsetIdentifier(String identifier) Sets the JPQL identifier to the given one.voidsetStateObject(StateObject stateObject) Sets the givenStateObjectto represent the new encapsulated expression.Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
addChildren, getStateObject, hasStateObject, parse, 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
-
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 benullidentifier- One of the three possible JPQL identifiers:ALL,ANYorSOME- 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 benullidentifier- One of the three possible JPQL identifiers:ALL,ANYorSOMEstateObject- TheStateObjectrepresenting 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 benullidentifier- One of the three possible JPQL identifiers:ALL,ANYorSOMEjpqlFragment- 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: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 classAbstractSingleEncapsulatedExpressionStateObject- 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)
-
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
-
getQueryBNFId
Description copied from class:AbstractSingleEncapsulatedExpressionStateObjectReturns the unique identifier of theJPQLQueryBNFthat will determine how to parse the encapsulated expression.- Specified by:
getQueryBNFIdin classAbstractSingleEncapsulatedExpressionStateObject- Returns:
- The non-
nullID of the BNF
-
isEquivalent
Description copied from interface:StateObjectDetermines whether the givenStateObjectis equivalent to this one, i.e. the information of bothStateObjectis the same.- Specified by:
isEquivalentin interfaceStateObject- Overrides:
isEquivalentin classAbstractSingleEncapsulatedExpressionStateObject- Parameters:
stateObject- TheStateObjectto compare its content to this one- Returns:
trueif both object are equivalent;falseotherwise
-
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 anALL,ANYorSOMEexpression
-
setIdentifier
Sets the JPQL identifier to the given one.- Parameters:
identifier- One of the three possible JPQL identifiers:ALL,ANYorSOME- Throws:
Assert.AssertException- The given JPQL identifier is one from the possible choices
-
setStateObject
Description copied from class:AbstractSingleEncapsulatedExpressionStateObjectSets the givenStateObjectto represent the new encapsulated expression.- Overrides:
setStateObjectin classAbstractSingleEncapsulatedExpressionStateObject- Parameters:
stateObject- The new encapsulatedStateObject
-