Class AndExpressionStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.LogicalExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AndExpressionStateObject
-
- All Implemented Interfaces:
StateObject
public class AndExpressionStateObject extends LogicalExpressionStateObject
TheANDlogical operator chains multiple criteria together. A valid operand of anANDoperator must be one of:TRUE,FALSE, andNULL. TheANDoperator has a higher precedence than theORoperator.NULLrepresents unknown. Therefore, if one operand isNULLand the other operand isFALSEthe result isFALSE, because oneFALSEoperand is sufficient for aFALSEresult. If one operand isNULLand the other operand is eitherTRUEorNULL, the result isNULL(unknown).The following table shows how the
ANDoperator is evaluated based on its two operands:TRUE FALSE NULL 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.tools.model.query.CompoundExpressionStateObject
LEFT_STATE_OBJECT_PROPERTY, RIGHT_STATE_OBJECT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description AndExpressionStateObject(StateObject parent)Creates a newAndExpressionStateObject.AndExpressionStateObject(StateObject parent, java.lang.String leftJpqlFragment, java.lang.String rightJpqlFragment)Creates a newAndExpressionStateObject.AndExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject)Creates a newAndExpressionStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.AndExpressiongetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.java.lang.StringgetIdentifier()Returns the identifier joining the twoStateObjects.protected java.lang.StringgetLeftQueryBNFId()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.StringgetRightQueryBNFId()Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.voidsetExpression(AndExpression 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.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject
addChildren, getLeft, getRight, hasLeft, hasRight, isEquivalent, parseLeft, parseRight, setLeft, setRight, 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
-
-
-
-
Constructor Detail
-
AndExpressionStateObject
public AndExpressionStateObject(StateObject parent)
Creates a newAndExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
java.lang.NullPointerException- The given parent cannot benull
-
AndExpressionStateObject
public AndExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject)
Creates a newAndExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullleftStateObject- TheStateObjectrepresenting the left expressionrightStateObject- TheStateObjectrepresenting the right expression- Throws:
java.lang.NullPointerException- The given parent cannot benull
-
AndExpressionStateObject
public AndExpressionStateObject(StateObject parent, java.lang.String leftJpqlFragment, java.lang.String rightJpqlFragment)
Creates a newAndExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullleftJpqlFragment- The string representation of the left expression to parse and to convert into aStateObjectrightJpqlFragment- The string representation of the right expression to parse and to convert into aStateObject- Throws:
java.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 AndExpression 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 classLogicalExpressionStateObject- 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 identifier joining the twoStateObjects.- Specified by:
getIdentifierin classCompoundExpressionStateObject- 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:
getLeftQueryBNFIdin classCompoundExpressionStateObject- 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:
getRightQueryBNFIdin classCompoundExpressionStateObject- Returns:
- The query BNF ID for the right side of the expression
-
setExpression
public void setExpression(AndExpression 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 a logicalANDexpression
-
-