/* * Hibernate Search, full-text search for your domain model * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.query.dsl; import org.apache.lucene.search.Query; /** * Represents a boolean query that can contains one or more elements to join * * @author Emmanuel Bernard */ public interface BooleanJunction<T extends BooleanJunction> extends QueryCustomization<T>, Termination { /** * The boolean query results should match the subquery * @param query the query to match (nulls are ignored) * @return a {@link BooleanJunction} */ BooleanJunction should(Query query); /** * The boolean query results must (or must not) match the subquery * Call the .not() method to ensure results of the boolean query do NOT match the subquery. * * @param query the query to match (nulls are ignored) * @return a {@link MustJunction} */ MustJunction must(Query query); /** * @return true if no restrictions have been applied */ boolean isEmpty(); }