/* * 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.backend.spi; import org.hibernate.search.backend.IndexWorkVisitor; import org.hibernate.search.backend.LuceneWork; /** * Representation of deleteByQuery(...) from Lucene. Currently not all functionality of Lucene is supported but can be * added * * @hsearch.experimental * * @author Martin Braun */ public class DeleteByQueryLuceneWork extends LuceneWork { private final DeletionQuery deletionQuery; public DeleteByQueryLuceneWork(Class<?> entity, DeletionQuery deletionQuery) { this( null, entity, deletionQuery ); } public DeleteByQueryLuceneWork(String tenantId, Class<?> entity, DeletionQuery deletionQuery) { super( tenantId, null, null, entity ); this.deletionQuery = deletionQuery; } public DeletionQuery getDeletionQuery() { return this.deletionQuery; } @Override public <P, R> R acceptIndexWorkVisitor(IndexWorkVisitor<P, R> visitor, P p) { return visitor.visitDeleteByQueryWork( this, p ); } @Override public String toString() { return "DeleteByQueryLuceneWork: " + this.getEntityClass().getName() + ": " + this.deletionQuery.toString(); } }