EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

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

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
      extended by org.eclipse.persistence.jpa.jpql.model.query.CompoundExpressionStateObject
          extended by org.eclipse.persistence.jpa.jpql.model.query.LogicalExpressionStateObject
              extended by org.eclipse.persistence.jpa.jpql.model.query.AndExpressionStateObject
All Implemented Interfaces:
StateObject

public class AndExpressionStateObject
extends LogicalExpressionStateObject

The AND logical operator chains multiple criteria together. A valid operand of an AND operator must be one of: TRUE, FALSE, and NULL. The AND operator has a higher precedence than the OR operator.

NULL represents unknown. Therefore, if one operand is NULL and the other operand is FALSE the result is FALSE, because one FALSE operand is sufficient for a FALSE result. If one operand is NULL and the other operand is either TRUE or NULL, the result is NULL (unknown).

The following table shows how the AND operator is evaluated based on its two operands:

TRUEFALSENULL
TRUE TRUE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL
BNF: conditional_term ::= conditional_term AND conditional_factor

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

Field Summary
 
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.CompoundExpressionStateObject
LEFT_STATE_OBJECT_PROPERTY, RIGHT_STATE_OBJECT_PROPERTY
 
Constructor Summary
AndExpressionStateObject(StateObject parent)
          Creates a new AndExpressionStateObject.
AndExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject)
          Creates a new AndExpressionStateObject.
AndExpressionStateObject(StateObject parent, java.lang.String leftJpqlFragment, java.lang.String rightJpqlFragment)
          Creates a new AndExpressionStateObject.
 
Method Summary
 void accept(StateObjectVisitor visitor)
          Visits this StateObject by the given visitor.
 AndExpression 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 identifier joining the two StateObjects.
protected  java.lang.String getLeftQueryBNFId()
          Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.
protected  java.lang.String getRightQueryBNFId()
          Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.
 void setExpression(AndExpression 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.
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.CompoundExpressionStateObject
addChildren, getLeft, getRight, hasLeft, hasRight, isEquivalent, parseLeft, parseRight, setLeft, setRight, 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
 

Constructor Detail

AndExpressionStateObject

public AndExpressionStateObject(StateObject parent)
Creates a new AndExpressionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
Throws:
java.lang.NullPointerException - The given parent cannot be null

AndExpressionStateObject

public AndExpressionStateObject(StateObject parent,
                                StateObject leftStateObject,
                                StateObject rightStateObject)
Creates a new AndExpressionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
leftStateObject - The StateObject representing the left expression
rightStateObject - The StateObject representing the right expression
Throws:
java.lang.NullPointerException - The given parent cannot be null

AndExpressionStateObject

public AndExpressionStateObject(StateObject parent,
                                java.lang.String leftJpqlFragment,
                                java.lang.String rightJpqlFragment)
Creates a new AndExpressionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
leftJpqlFragment - The string representation of the left expression to parse and to convert into a StateObject
rightJpqlFragment - The string representation of the right expression to parse and to convert into a StateObject
Throws:
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 AndExpression 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 LogicalExpressionStateObject
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 identifier joining the two StateObjects.

Specified by:
getIdentifier in class CompoundExpressionStateObject
Returns:
The JPQL identifier join two expressions

getLeftQueryBNFId

protected java.lang.String getLeftQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.

Specified by:
getLeftQueryBNFId in class CompoundExpressionStateObject
Returns:
The query BNF ID for the left side of the expression

getRightQueryBNFId

protected java.lang.String getRightQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.

Specified by:
getRightQueryBNFId in class CompoundExpressionStateObject
Returns:
The query BNF ID for the right side of the expression

setExpression

public void setExpression(AndExpression 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 a logical AND expression

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference