public class ComparisonExpressionStateObject extends CompoundExpressionStateObject
There is one exception to this rule: it is valid to compare numeric values for which the rules of numeric promotion apply. Conditional expressions attempting to compare non-like type values are disallowed except for this numeric case.
Note that the arithmetic operators and comparison operators are permitted to be applied to state-fields and input parameters of the wrapped Java class equivalents to the primitive numeric Java types. Two entities of the same abstract schema type are equal if and only if they have the same primary key value. Only equality/inequality comparisons over enumeration constants are required to be supported.
JPA 1.0 - BNF:
comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} |
                          boolean_expression {=|<>} {boolean_expression | all_or_any_expression} |
                          enum_expression {=|<>} {enum_expression | all_or_any_expression} |
                          datetime_expression comparison_operator {datetime_expression | all_or_any_expression} |
                          entity_expression {=|<>} {entity_expression | all_or_any_expression} |
                          arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression}comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} |
                          boolean_expression {=|<>} {boolean_expression | all_or_any_expression} |
                          enum_expression {=|<>} {enum_expression | all_or_any_expression} |
                          datetime_expression comparison_operator {datetime_expression | all_or_any_expression} |
                          entity_expression {=|<>} {entity_expression | all_or_any_expression} |
                          arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression} |
                          entity_type_expression {=|<>} entity_type_expression}ComparisonExpression| Modifier and Type | Field and Description | 
|---|---|
| static java.lang.String | IDENTIFIER_PROPERTYNotifies the identifier property has changed. | 
LEFT_STATE_OBJECT_PROPERTY, RIGHT_STATE_OBJECT_PROPERTY| Constructor and Description | 
|---|
| ComparisonExpressionStateObject(StateObject parent,
                               StateObject leftStateObject,
                               java.lang.String identifier,
                               StateObject rightStateObject)Creates a new  ComparisonExpressionStateObject. | 
| ComparisonExpressionStateObject(StateObject parent,
                               java.lang.String identifier)Creates a new  ComparisonExpressionStateObject. | 
| ComparisonExpressionStateObject(StateObject parent,
                               java.lang.String leftJpqlFragment,
                               java.lang.String identifier,
                               java.lang.String rightJpqlFragment)Creates a new  ComparisonExpressionStateObject. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | accept(StateObjectVisitor visitor)Visits this  StateObjectby the givenvisitor. | 
| ComparisonExpression | getExpression()Returns the actual parsed object if this  StateObjectrepresentation 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. | 
| boolean | isEquivalent(StateObject stateObject)Determines whether the given  StateObjectis equivalent to this one, i.e. the
 information of bothStateObjectis the same. | 
| void | setExpression(ComparisonExpression expression)Keeps a reference of the  parsed objectobject, which should only
 be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects. | 
| void | setIdentifier(java.lang.String identifier)Sets the comparison identifier to one of the following: <, <=, =, >=, <>. | 
| protected void | validateIdentifier(java.lang.String identifier) | 
addChildren, getLeft, getRight, hasLeft, hasRight, parseLeft, parseRight, setLeft, setRight, toTextInternalacceptUnknownVisitor, 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, toTextpublic static final java.lang.String IDENTIFIER_PROPERTY
public ComparisonExpressionStateObject(StateObject parent, StateObject leftStateObject, java.lang.String identifier, StateObject rightStateObject)
ComparisonExpressionStateObject.parent - The parent of this state object, which cannot be nullleftStateObject - The StateObject representing the left expressionidentifier - The comparison identifier, either <, <=, =, >=, <>rightStateObject - The StateObject representing the right expressionjava.lang.NullPointerException - The given parent cannot be nullpublic ComparisonExpressionStateObject(StateObject parent, java.lang.String identifier)
ComparisonExpressionStateObject.parent - The parent of this state object, which cannot be nullidentifier - The comparison identifier, either <, <=, =, >=, <>java.lang.NullPointerException - The given parent cannot be nullpublic ComparisonExpressionStateObject(StateObject parent, java.lang.String leftJpqlFragment, java.lang.String identifier, java.lang.String rightJpqlFragment)
ComparisonExpressionStateObject.parent - The parent of this state object, which cannot be nullleftJpqlFragment - The string representation of the left expression to parse and to
 convert into a StateObjectidentifier - The comparison identifier, either <, <=, =, >=, <>rightJpqlFragment - The string representation of the right expression to parse and to
 convert into a StateObjectjava.lang.NullPointerException - The given parent cannot be nullpublic void accept(StateObjectVisitor visitor)
StateObject by the given visitor.visitor - The visitor to visit this objectpublic ComparisonExpression getExpression()
StateObject representation of the JPQL query
 was created by parsing an existing JPQL query.getExpression in interface StateObjectgetExpression in class CompoundExpressionStateObjectStateObject
 or null when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
StateObjects.getIdentifier in class CompoundExpressionStateObjectprotected java.lang.String getLeftQueryBNFId()
getLeftQueryBNFId in class CompoundExpressionStateObjectprotected java.lang.String getRightQueryBNFId()
getRightQueryBNFId in class CompoundExpressionStateObjectpublic boolean isEquivalent(StateObject stateObject)
StateObject is equivalent to this one, i.e. the
 information of both StateObject is the same.isEquivalent in interface StateObjectisEquivalent in class CompoundExpressionStateObjectstateObject - The StateObject to compare its content to this onetrue if both object are equivalent; false otherwisepublic void setExpression(ComparisonExpression expression)
parsed object object, which should only
 be done when this object is instantiated during the conversion of a parsed JPQL query into
 StateObjects.expression - The parsed object representing a comparison
 expressionpublic void setIdentifier(java.lang.String identifier)
identifier - The new comparison identifier, either <, <=, =, >=, <>protected void validateIdentifier(java.lang.String identifier)