EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql.model.query
Class AllOrAnyExpressionStateObject

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
      extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject
          extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject
              extended by org.eclipse.persistence.jpa.jpql.model.query.AllOrAnyExpressionStateObject
All Implemented Interfaces:
StateObject

public class AllOrAnyExpressionStateObject
extends AbstractSingleEncapsulatedExpressionStateObject

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)

Version:
2.4
See Also:
AllOrAnyExpression
Author:
Pascal Filion
Since:
2.4

Field Summary
static java.lang.String IDENTIFIER_PROPERTY
          Notifies the identifier property has changed.
 
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY
 
Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject
addChildren, getStateObject, hasStateObject, parse, toTextEncapsulatedExpression
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject
toTextInternal
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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 new AllOrAnyExpressionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
identifier - One of the three possible JPQL identifiers: ALL, ANY or SOME
Throws:
Assert.AssertException - The given JPQL identifier is one from the possible choices
java.lang.NullPointerException - The given parent cannot be null

AllOrAnyExpressionStateObject

public AllOrAnyExpressionStateObject(StateObject parent,
                                     java.lang.String identifier,
                                     StateObject stateObject)
Creates a new AllOrAnyExpressionStateObject.

Parameters:
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 expression
Throws:
Assert.AssertException - The given JPQL identifier is one from the possible choices
java.lang.NullPointerException - The given parent cannot be null

AllOrAnyExpressionStateObject

public AllOrAnyExpressionStateObject(StateObject parent,
                                     java.lang.String identifier,
                                     java.lang.String jpqlFragment)
Creates a new AllOrAnyExpressionStateObject.

Parameters:
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 expression
Throws:
Assert.AssertException - The given JPQL identifier is one from the possible choices
java.lang.NullPointerException - The given parent cannot be null
Method Detail

accept

public void accept(StateObjectVisitor visitor)
Visits this StateObject by the given visitor.

Parameters:
visitor - The visitor to visit this object

getExpression

public AllOrAnyExpression getExpression()
Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.

Specified by:
getExpression in interface StateObject
Overrides:
getExpression in class AbstractSingleEncapsulatedExpressionStateObject
Returns:
The parsed object when a JPQL query is parsed and converted into a StateObject or null when 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 this AbstractSingleEncapsulatedExpressionStateObject.

Specified by:
getIdentifier in class AbstractEncapsulatedExpressionStateObject
Returns:
The JPQL identifier that is shown before the left parenthesis

getQueryBNFId

protected java.lang.String getQueryBNFId()
Returns the unique identifier of the JPQLQueryBNF that will determine how to parse the encapsulated expression.

Specified by:
getQueryBNFId in class AbstractSingleEncapsulatedExpressionStateObject
Returns:
The non-null ID of the BNF

isEquivalent

public boolean isEquivalent(StateObject stateObject)
Determines whether the given StateObject is equivalent to this one, i.e. the information of both StateObject is the same.

Specified by:
isEquivalent in interface StateObject
Overrides:
isEquivalent in class AbstractSingleEncapsulatedExpressionStateObject
Parameters:
stateObject - The StateObject 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 the parsed object object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query into StateObjects.

Parameters:
expression - The parsed object representing an ALL, ANY or SOME expression

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, ANY or SOME
Throws:
Assert.AssertException - The given JPQL identifier is one from the possible choices

setStateObject

public void setStateObject(StateObject stateObject)
Sets the given StateObject to represent the new encapsulated expression.

Overrides:
setStateObject in class AbstractSingleEncapsulatedExpressionStateObject
Parameters:
stateObject - The new encapsulated StateObject

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference