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
AnALL
conditional expression is a predicate that istrue
if the comparison operation istrue
for all values in the result of the subquery or the result of the subquery is empty. AnALL
conditional expression isfalse
if the result of the comparison isfalse
for at least one row, and is unknown if neithertrue
norfalse
.An
ANY
conditional expression is a predicate that istrue
if the comparison operation istrue
for some value in the result of the subquery. AnANY
conditional expression isfalse
if the result of the subquery is empty or if the comparison operation isfalse
for every value in the esult of the subquery, and is unknown if neithertrue
norfalse
. The keywordSOME
is synonymous withANY
. The comparison operators used withALL
orANY
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
- Author:
- Pascal Filion
- See Also:
AllOrAnyExpression
-
-
Field Summary
Fields Modifier and Type Field Description static String
IDENTIFIER_PROPERTY
Notifies 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, 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.AllOrAnyExpression
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.String
getIdentifier()
Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject
.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)
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
getStateObject, hasStateObject, parse
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
-
-
-
-
Field Detail
-
IDENTIFIER_PROPERTY
public static final String IDENTIFIER_PROPERTY
Notifies the identifier property has changed.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AllOrAnyExpressionStateObject
public AllOrAnyExpressionStateObject(StateObject parent, String identifier)
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
public AllOrAnyExpressionStateObject(StateObject parent, String identifier, String jpqlFragment)
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 Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.- Parameters:
visitor
- Thevisitor
to visit this object
-
getExpression
public AllOrAnyExpression getExpression()
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
public String getIdentifier()
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
-
isEquivalent
public boolean isEquivalent(StateObject 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
public 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
.- Parameters:
expression
- Theparsed object
representing anALL
,ANY
orSOME
expression
-
setIdentifier
public void setIdentifier(String identifier)
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
public void setStateObject(StateObject stateObject)
-
-