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
public class AllOrAnyExpressionStateObject extends AbstractSingleEncapsulatedExpressionStateObject
AnALLconditional expression is a predicate that istrueif the comparison operation istruefor all values in the result of the subquery or the result of the subquery is empty. AnALLconditional expression isfalseif the result of the comparison isfalsefor at least one row, and is unknown if neithertruenorfalse.An
ANYconditional expression is a predicate that istrueif the comparison operation istruefor some value in the result of the subquery. AnANYconditional expression isfalseif the result of the subquery is empty or if the comparison operation isfalsefor every value in the esult of the subquery, and is unknown if neithertruenorfalse. The keywordSOMEis synonymous withANY. The comparison operators used withALLorANYconditional 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)- Version:
- 2.4
- See Also:
AllOrAnyExpression- Author:
- Pascal Filion
- Since:
- 2.4
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringIDENTIFIER_PROPERTYNotifies the identifier property has changed.-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier)Creates a newAllOrAnyExpressionStateObject.AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, java.lang.String jpqlFragment)Creates a newAllOrAnyExpressionStateObject.AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, StateObject stateObject)Creates a newAllOrAnyExpressionStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.AllOrAnyExpressiongetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.java.lang.StringgetIdentifier()Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject.protected java.lang.StringgetQueryBNFId()Returns 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. the information of bothStateObjectis the same.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(java.lang.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, 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 Detail
-
IDENTIFIER_PROPERTY
public static final java.lang.String IDENTIFIER_PROPERTY
Notifies the identifier property has changed.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AllOrAnyExpressionStateObject
public AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier)
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 choicesjava.lang.NullPointerException- The given parent cannot benull
-
AllOrAnyExpressionStateObject
public AllOrAnyExpressionStateObject(StateObject parent, java.lang.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 choicesjava.lang.NullPointerException- The given parent cannot benull
-
AllOrAnyExpressionStateObject
public AllOrAnyExpressionStateObject(StateObject parent, java.lang.String identifier, java.lang.String jpqlFragment)
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 choicesjava.lang.NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
getExpression
public AllOrAnyExpression getExpression()
Returns 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
public java.lang.String getIdentifier()
Returns 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
protected java.lang.String getQueryBNFId()
Returns 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
public boolean isEquivalent(StateObject stateObject)
Determines 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
public void setExpression(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.- Parameters:
expression- Theparsed objectrepresenting anALL,ANYorSOMEexpression
-
setIdentifier
public void setIdentifier(java.lang.String identifier)
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
public void setStateObject(StateObject stateObject)
Sets the givenStateObjectto represent the new encapsulated expression.- Overrides:
setStateObjectin classAbstractSingleEncapsulatedExpressionStateObject- Parameters:
stateObject- The new encapsulatedStateObject
-
-