org.hibernate.ejb.criteria.predicate
Class CompoundPredicate

java.lang.Object
  extended by org.hibernate.ejb.criteria.AbstractNode
      extended by org.hibernate.ejb.criteria.expression.AbstractTupleElement<X>
          extended by org.hibernate.ejb.criteria.expression.SelectionImpl<T>
              extended by org.hibernate.ejb.criteria.expression.ExpressionImpl<Boolean>
                  extended by org.hibernate.ejb.criteria.predicate.AbstractPredicateImpl
                      extended by org.hibernate.ejb.criteria.predicate.CompoundPredicate
All Implemented Interfaces:
Serializable, Expression<Boolean>, Predicate, Selection<Boolean>, TupleElement<Boolean>, ExpressionImplementor<Boolean>, ParameterContainer, Renderable, SelectionImplementor<Boolean>, TupleElementImplementor<Boolean>

public class CompoundPredicate
extends AbstractPredicateImpl
implements Serializable

A compound predicate is a grouping of other predicates in order to convert either a conjunction (logical AND) or a disjunction (logical OR).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface javax.persistence.criteria.Predicate
Predicate.BooleanOperator
 
Nested classes/interfaces inherited from interface org.hibernate.ejb.criteria.ParameterContainer
ParameterContainer.Helper
 
Constructor Summary
CompoundPredicate(CriteriaBuilderImpl criteriaBuilder, Predicate.BooleanOperator operator)
          Constructs an empty conjunction or disjunction.
CompoundPredicate(CriteriaBuilderImpl criteriaBuilder, Predicate.BooleanOperator operator, Expression<Boolean>... expressions)
          Constructs a conjunction or disjunction over the given expressions.
CompoundPredicate(CriteriaBuilderImpl criteriaBuilder, Predicate.BooleanOperator operator, List<Expression<Boolean>> expressions)
          Constructs a conjunction or disjunction over the given expressions.
 
Method Summary
 List<Expression<Boolean>> getExpressions()
           
 Predicate.BooleanOperator getOperator()
           
 Predicate not()
          Create negation of compound predicate by using logic rules: 1.
 void registerParameters(ParameterRegistry registry)
          Register any parameters contained within this query component with the given registry.
 String render(CriteriaQueryCompiler.RenderingContext renderingContext)
           
 String renderProjection(CriteriaQueryCompiler.RenderingContext renderingContext)
           
 
Methods inherited from class org.hibernate.ejb.criteria.predicate.AbstractPredicateImpl
getCompoundSelectionItems, isCompoundSelection, isNegated
 
Methods inherited from class org.hibernate.ejb.criteria.expression.ExpressionImpl
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, in, in, in, in, isNotNull, isNull
 
Methods inherited from class org.hibernate.ejb.criteria.expression.SelectionImpl
alias, getValueHandlers
 
Methods inherited from class org.hibernate.ejb.criteria.expression.AbstractTupleElement
forceConversion, getAlias, getJavaType, getValueHandler, resetJavaType, setAlias
 
Methods inherited from class org.hibernate.ejb.criteria.AbstractNode
criteriaBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.persistence.criteria.Expression
as, in, in, in, in, isNotNull, isNull
 
Methods inherited from interface javax.persistence.criteria.Selection
alias
 
Methods inherited from interface javax.persistence.TupleElement
getAlias, getJavaType
 
Methods inherited from interface org.hibernate.ejb.criteria.SelectionImplementor
getValueHandlers
 
Methods inherited from interface org.hibernate.ejb.criteria.TupleElementImplementor
getValueHandler
 

Constructor Detail

CompoundPredicate

public CompoundPredicate(CriteriaBuilderImpl criteriaBuilder,
                         Predicate.BooleanOperator operator)
Constructs an empty conjunction or disjunction.

Parameters:
criteriaBuilder - The query builder from which this originates.
operator - Indicates whether this predicate will function as a conjunction or disjunction.

CompoundPredicate

public CompoundPredicate(CriteriaBuilderImpl criteriaBuilder,
                         Predicate.BooleanOperator operator,
                         Expression<Boolean>... expressions)
Constructs a conjunction or disjunction over the given expressions.

Parameters:
criteriaBuilder - The query builder from which this originates.
operator - Indicates whether this predicate will function as a conjunction or disjunction.
expressions - The expressions to be grouped.

CompoundPredicate

public CompoundPredicate(CriteriaBuilderImpl criteriaBuilder,
                         Predicate.BooleanOperator operator,
                         List<Expression<Boolean>> expressions)
Constructs a conjunction or disjunction over the given expressions.

Parameters:
criteriaBuilder - The query builder from which this originates.
operator - Indicates whether this predicate will function as a conjunction or disjunction.
expressions - The expressions to be grouped.
Method Detail

getOperator

public Predicate.BooleanOperator getOperator()
Specified by:
getOperator in interface Predicate

getExpressions

public List<Expression<Boolean>> getExpressions()
Specified by:
getExpressions in interface Predicate

registerParameters

public void registerParameters(ParameterRegistry registry)
Description copied from interface: ParameterContainer
Register any parameters contained within this query component with the given registry.

Specified by:
registerParameters in interface ParameterContainer
Parameters:
registry - The parameter registry with which to register.

render

public String render(CriteriaQueryCompiler.RenderingContext renderingContext)
Specified by:
render in interface Renderable

renderProjection

public String renderProjection(CriteriaQueryCompiler.RenderingContext renderingContext)
Specified by:
renderProjection in interface Renderable

not

public Predicate not()
Create negation of compound predicate by using logic rules: 1. not (x || y) is (not x && not y) 2. not (x && y) is (not x || not y)

Specified by:
not in interface Predicate
Overrides:
not in class AbstractPredicateImpl


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.