package org.infinispan.query.backend; import java.io.Serializable; import java.util.Collection; import org.hibernate.search.backend.spi.Work; import org.hibernate.search.backend.spi.WorkType; /** * Creates collections of Work instances that should be performed by Hibernate-Search. * * @author Marko Luksa */ public interface SearchWorkCreator<T> { /** * Creates a collection of Work instances that Hibernate-Search should perform for all the entities of the given * entity type. * @param entityType the entity type that these Works should be created for * @param workType the type of work to be done * @return collection of Work instances */ Collection<Work> createPerEntityTypeWorks(Class<T> entityType, WorkType workType); /** * Creates a collection of Work instances that Hibernate-Search should perform for the given entity * @param entity the entity that these Works should be created for * @param id the id of the document * @param workType the type of work to be done * @return collection of Work instances */ Collection<Work> createPerEntityWorks(T entity, Serializable id, WorkType workType); }