org.hibernate.search.engine.spi
public class DocumentBuilderIndexedEntity<T> extends AbstractDocumentBuilder<T>
@Indexed.entityState| Constructor and Description |
|---|
DocumentBuilderIndexedEntity(org.hibernate.annotations.common.reflection.XClass clazz,
TypeMetadata typeMetadata,
ConfigContext context,
org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager,
Set<org.hibernate.annotations.common.reflection.XClass> optimizationBlackList,
InstanceInitializer instanceInitializer)
Creates a document builder for entities annotated with
@Indexed. |
| Modifier and Type | Method and Description |
|---|---|
void |
addWorkToQueue(Class<T> entityClass,
T entity,
Serializable id,
boolean delete,
boolean add,
List<LuceneWork> queue,
ConversionContext contextualBridge) |
boolean |
allowFieldSelectionInProjection() |
AddLuceneWork |
createAddWork(Class<T> entityClass,
T entity,
Serializable id,
String idInString,
InstanceInitializer sessionInitializer,
ConversionContext conversionContext) |
UpdateLuceneWork |
createUpdateWork(Class<T> entityClass,
T entity,
Serializable id,
String idInString,
InstanceInitializer sessionInitializer,
ConversionContext contextualBridge) |
FieldBridge |
getBridge(String fieldName) |
Document |
getDocument(T instance,
Serializable id,
Map<String,String> fieldToAnalyzerMap,
InstanceInitializer objectInitializer,
ConversionContext conversionContext)
Builds the Lucene
Document for a given entity instance and its id. |
Set<FieldCacheType> |
getFieldCacheOption() |
Serializable |
getId(Object entity)
Return the id used for indexing if possible
An IllegalStateException otherwise
If the id is provided, we can't extract it from the entity
|
TwoWayFieldBridge |
getIdBridge() |
String |
getIdentifierName() |
FieldCacheCollectorFactory |
getIdFieldCacheCollectionFactory() |
org.hibernate.annotations.common.reflection.XMember |
getIdGetter() |
String |
getIdKeywordName() |
boolean |
isIdMatchingJpaId()
FIXME remove the need for such a method, we should always be able to rely on Work.id,
but to respect @DocumentId which is being processed in the DocumentBuilder currently
finding out which id we need is tricky, and requires helpers method like this one.
|
String |
objectToString(String fieldName,
FieldBridge bridge,
Object value,
ConversionContext conversionContext) |
String |
objectToString(String fieldName,
Object value,
ConversionContext conversionContext) |
boolean |
requiresProvidedId()
To be removed, see org.hibernate.search.engine.DocumentBuilderIndexedEntity.isIdMatchingJpaId()
|
appendContainedInWorkForInstance, close, collectionChangeRequiresIndexUpdate, forceStateInspectionOptimizationsDisabled, getAnalyzer, getBeanClass, getBeanXClass, getEntityState, getInstanceInitializer, getMappedSubclasses, getMetadata, getTypeMetadata, isCollectionRoleExcluded, isDirty, isRoot, postInitialize, toStringpublic DocumentBuilderIndexedEntity(org.hibernate.annotations.common.reflection.XClass clazz, TypeMetadata typeMetadata, ConfigContext context, org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager, Set<org.hibernate.annotations.common.reflection.XClass> optimizationBlackList, InstanceInitializer instanceInitializer)
@Indexed.clazz - The class for which to build a DocumentBuilderContainedEntitycontext - Handle to default configuration settingsreflectionManager - Reflection manager to use for processing the annotationsoptimizationBlackList - mutable register, keeps track of types on which we need to disable collection events optimizationsinstanceInitializer - helper class for class object graph navigationpublic org.hibernate.annotations.common.reflection.XMember getIdGetter()
public FieldCacheCollectorFactory getIdFieldCacheCollectionFactory()
public void addWorkToQueue(Class<T> entityClass, T entity, Serializable id, boolean delete, boolean add, List<LuceneWork> queue, ConversionContext contextualBridge)
addWorkToQueue in class AbstractDocumentBuilder<T>public AddLuceneWork createAddWork(Class<T> entityClass, T entity, Serializable id, String idInString, InstanceInitializer sessionInitializer, ConversionContext conversionContext)
public UpdateLuceneWork createUpdateWork(Class<T> entityClass, T entity, Serializable id, String idInString, InstanceInitializer sessionInitializer, ConversionContext contextualBridge)
public Document getDocument(T instance, Serializable id, Map<String,String> fieldToAnalyzerMap, InstanceInitializer objectInitializer, ConversionContext conversionContext)
Document for a given entity instance and its id.instance - The entity for which to build the matching Lucene Documentid - the entity id.fieldToAnalyzerMap - this maps gets populated while generating the Document.
It allows to specify for any document field a named analyzer to use. This parameter cannot be null.objectInitializer - used to ensure that all objects are initalizedconversionContext - a ConversionContext object.Document for the specified entity.public String getIdentifierName()
public boolean allowFieldSelectionInProjection()
public Set<FieldCacheType> getFieldCacheOption()
public TwoWayFieldBridge getIdBridge()
public String getIdKeywordName()
public Serializable getId(Object entity)
getId in class AbstractDocumentBuilder<T>entity - the instance for which to retrieve the idpublic String objectToString(String fieldName, Object value, ConversionContext conversionContext)
public String objectToString(String fieldName, FieldBridge bridge, Object value, ConversionContext conversionContext)
public FieldBridge getBridge(String fieldName)
public boolean requiresProvidedId()
requiresProvidedId in class AbstractDocumentBuilder<T>public boolean isIdMatchingJpaId()
isIdMatchingJpaId in class AbstractDocumentBuilder<T>Copyright © 2006-2015 Red Hat, Inc. All Rights Reserved