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) |
org.apache.lucene.document.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, toString
public 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 DocumentBuilderContainedEntity
context
- 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 org.apache.lucene.document.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 Document
id
- 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 Hibernate. All rights reserved.