Top Fields Constructors Methods
org.hibernate.query.sqm.tree.predicate

public Class SqmComparisonPredicate

extends AbstractNegatableSqmPredicate
Class Inheritance
Imports
org.hibernate.query.SemanticException, org.hibernate.query.sqm.ComparisonOperator, .NodeBuilder, .SqmExpressible, .SemanticQueryWalker, org.hibernate.query.internal.QueryHelper, org.hibernate.query.sqm.tree.SqmCopyContext, org.hibernate.query.sqm.tree.domain.SqmPluralValuedSimplePath, org.hibernate.query.sqm.tree.expression.SqmExpression

Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final SqmExpression<?>
private ComparisonOperator
private final SqmExpression<?>

Constructor Summary

AccessConstructor and Description
public
SqmComparisonPredicate(SqmExpression<?> leftHandExpression, ComparisonOperator operator, SqmExpression<?> rightHandExpression, NodeBuilder nodeBuilder)

private
SqmComparisonPredicate(SqmExpression<?> leftHandExpression, ComparisonOperator operator, SqmExpression<?> rightHandExpression, boolean negated, NodeBuilder nodeBuilder)

private

Method Summary

Modifier and TypeMethod and Description
public <T> T
accept(SemanticQueryWalker<T> walker)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Accept the walker per visitation
public void
public SqmComparisonPredicate
protected SqmNegatablePredicate
public SqmExpression<?>
public SqmExpression<?>
public ComparisonOperator
public void
Inherited from org.hibernate.query.sqm.tree.predicate.AbstractNegatableSqmPredicate:
isNegatednot

Field Detail

leftHandExpressionback to summary
private final SqmExpression<?> leftHandExpression
operatorback to summary
private ComparisonOperator operator
rightHandExpressionback to summary
private final SqmExpression<?> rightHandExpression

Constructor Detail

SqmComparisonPredicateback to summary
public SqmComparisonPredicate(SqmExpression<?> leftHandExpression, ComparisonOperator operator, SqmExpression<?> rightHandExpression, NodeBuilder nodeBuilder)
SqmComparisonPredicateback to summary
private SqmComparisonPredicate(SqmExpression<?> leftHandExpression, ComparisonOperator operator, SqmExpression<?> rightHandExpression, boolean negated, NodeBuilder nodeBuilder)
SqmComparisonPredicateback to summary
private SqmComparisonPredicate(SqmComparisonPredicate affirmativeForm)

Method Detail

acceptback to summary
public <T> T accept(SemanticQueryWalker<T> walker)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Doc from org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Accept the walker per visitation

Annotations
@Override
appendHqlStringback to summary
public void appendHqlString(StringBuilder sb)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.appendHqlString.

Annotations
@Override
copyback to summary
public SqmComparisonPredicate copy(SqmCopyContext context)

Implements org.hibernate.query.sqm.tree.predicate.SqmPredicate.copy, org.hibernate.query.sqm.tree.expression.SqmExpression.copy, org.hibernate.query.sqm.tree.select.SqmSelectableNode.copy, org.hibernate.query.sqm.tree.SqmNode.copy.

Annotations
@Override
createNegatedNodeback to summary
protected SqmNegatablePredicate createNegatedNode()

Implements abstract org.hibernate.query.sqm.tree.predicate.AbstractNegatableSqmPredicate.createNegatedNode.

Annotations
@Override
getLeftHandExpressionback to summary
public SqmExpression<?> getLeftHandExpression()
getRightHandExpressionback to summary
public SqmExpression<?> getRightHandExpression()
getSqmOperatorback to summary
public ComparisonOperator getSqmOperator()
negateback to summary
public void negate()

Overrides org.hibernate.query.sqm.tree.predicate.AbstractNegatableSqmPredicate.negate.

Implements org.hibernate.query.sqm.tree.predicate.SqmNegatablePredicate.negate.

Doc from org.hibernate.query.sqm.tree.predicate.SqmNegatablePredicate.negate.

Apply an external negation. Called when we encounter a NOT grouping.

For example, for not(x is null) we build the SqmNullnessPredicate and then call its negate method which results in x is not null.

Can be applied nested as well. For example, not(not(x is null)) becomes x is null because the double-negative cancel each other out.

Annotations
@Override