/* * 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.batchindexing; import org.hibernate.search.backend.IndexingMonitor; /** * As a MassIndexer can take some time to finish it's job, * a MassIndexerProgressMonitor can be defined in the configuration * property hibernate.search.worker.indexing.monitor * implementing this interface to track indexing performance. * <p> * Implementations must: * <ul> * <li> be threadsafe </li> * <li> have a no-arg constructor </li> * </ul> * * @author Sanne Grinovero * @author Hardy Ferentschik */ public interface MassIndexerProgressMonitor extends IndexingMonitor { /** * The number of Documents built; * This is invoked several times and concurrently during * the indexing process. * * @param number number of {@code Document}s built */ void documentsBuilt(int number); /** * The number of entities loaded from database; * This is invoked several times and concurrently during * the indexing process. * * @param size number of entities loaded from database */ void entitiesLoaded(int size); /** * The total count of entities to be indexed is * added here; It could be called more than once, * the implementation should add them up. * This is invoked several times and concurrently during * the indexing process. * * @param count number of newly indexed entities which has to * be added to total count */ void addToTotalCount(long count); /** * Invoked when the indexing is completed. */ void indexingCompleted(); }