Top Description Constructors Methods
org.eclipse.persistence.jpa.jpql.tools.model.query

public Class AndExpressionStateObject

extends LogicalExpressionStateObject
Class Inheritance
Static Imports
org.eclipse.persistence.jpa.jpql.parser.Expression.AND

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

Author
Pascal Filion
Since
2.4
Version
2.4
See Also
AndExpression

Constructor Summary

AccessConstructor and Description
public
AndExpressionStateObject(StateObject
The parent of this state object, which cannot be null
parent
)

Creates a new AndExpressionStateObject.

public
AndExpressionStateObject(StateObject
The parent of this state object, which cannot be null
parent
,
StateObject
The StateObject representing the left expression
leftStateObject
,
StateObject
The StateObject representing the right expression
rightStateObject
)

Creates a new AndExpressionStateObject.

public
AndExpressionStateObject(StateObject
The parent of this state object, which cannot be null
parent
,
String
The string representation of the left expression to parse and to convert into a StateObject
leftJpqlFragment
,
String
The string representation of the right expression to parse and to convert into a StateObject
rightJpqlFragment
)

Creates a new AndExpressionStateObject.

Method Summary

Modifier and TypeMethod and Description
public void
public AndExpression
getExpression()

Overrides org.eclipse.persistence.jpa.jpql.tools.model.query.LogicalExpressionStateObject.getExpression.

Implements org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject.getExpression.

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

Implements abstract org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.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 String
getRightQueryBNFId()

Implements abstract org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getRightQueryBNFId.

Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.
public void
setExpression(AndExpression
The parsed object representing a logical AND expression
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.

Constructor Detail

AndExpressionStateObjectback to summary
public AndExpressionStateObject(StateObject parent)

Creates a new AndExpressionStateObject.

Parameters
parent:StateObject

The parent of this state object, which cannot be null

Exceptions
NullPointerException:
The given parent cannot be null
AndExpressionStateObjectback to summary
public AndExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject)

Creates a new AndExpressionStateObject.

Parameters
parent:StateObject

The parent of this state object, which cannot be null

leftStateObject:StateObject

The StateObject representing the left expression

rightStateObject:StateObject

The StateObject representing the right expression

Exceptions
NullPointerException:
The given parent cannot be null
AndExpressionStateObjectback to summary
public AndExpressionStateObject(StateObject parent, String leftJpqlFragment, String rightJpqlFragment)

Creates a new AndExpressionStateObject.

Parameters
parent:StateObject

The parent of this state object, which cannot be null

leftJpqlFragment:String

The string representation of the left expression to parse and to convert into a StateObject

rightJpqlFragment:String

The string representation of the right expression to parse and to convert into a StateObject

Exceptions
NullPointerException:
The given parent cannot be null

Method Detail

acceptback to summary
public void accept(StateObjectVisitor visitor)

Implements org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject.accept.

Doc from org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject.accept.

Visits this StateObject by the given visitor.

Parameters
visitor:StateObjectVisitor

The visitor to visit this object

Annotations
@Override
getExpressionback to summary
public AndExpression getExpression()

Overrides org.eclipse.persistence.jpa.jpql.tools.model.query.LogicalExpressionStateObject.getExpression.

Implements org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject.getExpression.

Doc from org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject.getExpression.

Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.

Returns:AndExpression

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)

Annotations
@Override
getIdentifierback to summary
public String getIdentifier()

Implements abstract org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getIdentifier.

Doc from org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getIdentifier.

Returns the identifier joining the two StateObjects.

Returns:String

The JPQL identifier join two expressions

Annotations
@Override
getLeftQueryBNFIdback to summary
protected String getLeftQueryBNFId()

Implements abstract org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getLeftQueryBNFId.

Doc from org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getLeftQueryBNFId.

Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.

Returns:String

The query BNF ID for the left side of the expression

Annotations
@Override
getRightQueryBNFIdback to summary
protected String getRightQueryBNFId()

Implements abstract org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getRightQueryBNFId.

Doc from org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject.getRightQueryBNFId.

Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.

Returns:String

The query BNF ID for the right side of the expression

Annotations
@Override
setExpressionback to summary
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:AndExpression

The parsed object representing a logical AND expression