package org.infinispan.query.dsl; /** * The context of a complete filter. Provides operations to allow connecting multiple filters together with boolean * operators. * * @author anistor@redhat.com * @since 6.0 */ public interface FilterConditionContext { /** * Creates a new context and connects it with the current one using boolean AND. The new context is added after the * current one. The two conditions are not grouped so operator precedence in the resulting condition might change. * <p/> * The effect is: a AND b * * @return the new context */ FilterConditionBeginContext and(); /** * Connects a given context with the current one using boolean AND. The new context is added after the current one * and is grouped. Operator precedence will be unaffected due to grouping. * <p/> * The effect is: a AND (b) * * @param rightCondition the second condition * @return the new context */ FilterConditionContextQueryBuilder and(FilterConditionContext rightCondition); /** * Creates a new context and connects it with the current one using boolean OR. The new context is added after the * current one. * <p/> * The effect is: a OR b * * @return the new context */ FilterConditionBeginContext or(); /** * Connects a given context with the current one using boolean OR. The new context is added after the current one and * is grouped. * <p/> * The effect is: a OR (b) * * @param rightCondition the second condition * @return the new context */ FilterConditionContextQueryBuilder or(FilterConditionContext rightCondition); /** * Get the {@link QueryBuilder} that created this context. As of Infinispan 9.0 this is no longer needed. * * @return the parent builder * @deprecated To be removed in Infinispan 10.0 without replacement. */ @Deprecated QueryBuilder toBuilder(); }