Class AbstractNegatableSqmPredicate
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.expression.AbstractSqmExpression<Boolean>
org.hibernate.query.sqm.tree.predicate.AbstractSqmPredicate
org.hibernate.query.sqm.tree.predicate.AbstractNegatableSqmPredicate
- All Implemented Interfaces:
Expression<Boolean>
,Predicate
,Selection<Boolean>
,TupleElement<Boolean>
,Serializable
,JpaCriteriaNode
,JpaExpression<Boolean>
,JpaPredicate
,JpaSelection<Boolean>
,JpaTupleElement<Boolean>
,SqmExpression<Boolean>
,SqmNegatablePredicate
,SqmPredicate
,SqmSelectableNode<Boolean>
,SqmExpressibleAccessor<Boolean>
,SqmNode
,SqmTypedNode<Boolean>
,SqmVisitableNode
- Direct Known Subclasses:
SqmBetweenPredicate
,SqmBooleanExpressionPredicate
,SqmComparisonPredicate
,SqmEmptinessPredicate
,SqmExistsPredicate
,SqmInListPredicate
,SqmInSubQueryPredicate
,SqmLikePredicate
,SqmMemberOfPredicate
,SqmNegatedPredicate
,SqmNullnessPredicate
,SqmTruthnessPredicate
public abstract class AbstractNegatableSqmPredicate
extends AbstractSqmPredicate
implements SqmNegatablePredicate
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.persistence.criteria.Predicate
Predicate.BooleanOperator
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractNegatableSqmPredicate
(boolean negated, NodeBuilder nodeBuilder) AbstractNegatableSqmPredicate
(NodeBuilder nodeBuilder) AbstractNegatableSqmPredicate
(SqmExpressible<Boolean> type, boolean negated, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract SqmNegatablePredicate
boolean
Is this predicate (currently) negated?void
negate()
Apply an external negation.not()
Methods inherited from class org.hibernate.query.sqm.tree.predicate.AbstractSqmPredicate
getExpressions, getOperator
Methods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualTo
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, getSelectionItems, isCompoundSelection
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, getNodeType, setAlias, setExpressibleType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItems
Methods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeName, isEnum
Methods inherited from interface jakarta.persistence.criteria.Predicate
getExpressions, getOperator
Methods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelection
Methods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, getNodeType, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualTo, visitSubSelectableNodes
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
Methods inherited from interface org.hibernate.query.sqm.tree.predicate.SqmPredicate
copy, getJavaTypeDescriptor
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLength
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaType
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
accept, appendHqlString, toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
AbstractNegatableSqmPredicate
-
AbstractNegatableSqmPredicate
-
AbstractNegatableSqmPredicate
public AbstractNegatableSqmPredicate(SqmExpressible<Boolean> type, boolean negated, NodeBuilder nodeBuilder)
-
-
Method Details
-
isNegated
public boolean isNegated()Description copied from interface:SqmNegatablePredicate
Is this predicate (currently) negated?- Specified by:
isNegated
in interfacePredicate
- Specified by:
isNegated
in interfaceSqmNegatablePredicate
- Returns:
true
if we have a negated form currently
-
negate
public void negate()Description copied from interface:SqmNegatablePredicate
Apply an external negation. Called when we encounter aNOT
grouping.For example, for
not(x is null)
we build theSqmNullnessPredicate
and then call its negate method which results inx is not null
.Can be applied nested as well. For example,
not(not(x is null))
becomesx is null
because the double-negative cancel each other out.- Specified by:
negate
in interfaceSqmNegatablePredicate
-
createNegatedNode
-
not
- Specified by:
not
in interfaceJpaPredicate
- Specified by:
not
in interfacePredicate
- Specified by:
not
in interfaceSqmPredicate
-