Class PojoMassIndexingIndexedTypeGroup<E>
- java.lang.Object
-
- org.hibernate.search.mapper.pojo.massindexing.impl.PojoMassIndexingIndexedTypeGroup<E>
-
public class PojoMassIndexingIndexedTypeGroup<E> extends Object
-
-
Method Summary
-
-
-
Method Detail
-
disjoint
public static List<PojoMassIndexingIndexedTypeGroup<?>> disjoint(PojoMassIndexingContext indexingContext, PojoMassIndexingMappingContext mappingContext, PojoMassIndexingTypeContextProvider typeContextProvider, Set<? extends PojoMassIndexingIndexedTypeContext<?>> indexedTypeContexts)
Group indexed types by their closest common supertype, ensuring returned groups are disjoint (i.e.no two groups have any common indexed subtype among those provided) .This is necessary to avoid duplicate indexing.
For example, without this, we could end up reindexing type B in one thread, and its superclass A (which will include all instances of B) in another.
- Parameters:
indexingContext- A conficuration contextural information.mappingContext- A mappings contextural information.indexedTypeContexts- A set of indexed types to group together.- Returns:
- One or more type groups that are guaranteed to be disjoint.
-
notifiedGroupName
public String notifiedGroupName()
-
includedTypesIdentifiers
public Set<PojoRawTypeIdentifier<? extends E>> includedTypesIdentifiers()
-
extractReference
public EntityReference extractReference(PojoMassIndexingSessionContext sessionContext, Object entity)
-
makeSuperTypeReference
public EntityReference makeSuperTypeReference(Object identifier)
-
extractIdentifier
public <E2> Object extractIdentifier(PojoMassIndexingIndexedTypeContext<E2> typeContext, PojoMassIndexingSessionContext sessionContext, Object entity)
-
loadingStrategy
public PojoMassIndexingLoadingStrategy<E,?> loadingStrategy()
-
-