
org.hibernate.search.spi.WorkerBuildContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-search-engine Show documentation
Show all versions of hibernate-search-engine Show documentation
Core of the Object/Lucene mapper, query engine and index management
/*
* 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 .
*/
package org.hibernate.search.spi;
import org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity;
/**
* Build context for the worker and other backend
* Available after all index, entity metadata are built.
*
* @author Emmanuel Bernard
*/
public interface WorkerBuildContext extends BuildContext {
/**
* @return {@code true} if a transaction manager is expected, {@code false} otherwise.
*
* @see org.hibernate.search.cfg.spi.SearchConfiguration#isTransactionManagerExpected
*/
boolean isTransactionManagerExpected();
/**
* @return {@code true} if it is safe to assume that the information we have about
* index metadata is accurate. This should be set to false for example if the index
* could contain Documents related to types not known to this SearchFactory instance.
* @see org.hibernate.search.cfg.spi.SearchConfiguration#isIndexMetadataComplete
*/
boolean isIndexMetadataComplete();
/**
* @return {@code true} if regardless of {@code isIndexMetadataComplete} and the number
* of types present in the index it is safe to delete by term given that the underlying
* store guarantees uniqueness of ids
*/
boolean isDeleteByTermEnforced();
/**
* @return An instance of the {@code InstanceInitializer} interface.
*/
InstanceInitializer getInstanceInitializer();
/**
* @return {@code true} if {@link DocumentBuilderIndexedEntity#TENANT_ID_FIELDNAME multitenancy}
* should be enabled. When in doubt, this should return {@code true}.
*/
boolean isMultitenancyEnabled();
/**
* @return {@code true} if the worker and the backend enlist their work in the current transaction;
* If {@code false}, the worker will still use the transaction as context but will execute the
* workload when the transaction commits.
*/
boolean enlistWorkerInTransaction();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy