org.hibernate.search.engine
Class DocumentBuilderContainedEntity<T>

java.lang.Object
  extended by org.hibernate.search.engine.AbstractDocumentBuilder<T>
      extended by org.hibernate.search.engine.DocumentBuilderContainedEntity<T>
All Implemented Interfaces:
DocumentBuilder

public class DocumentBuilderContainedEntity<T>
extends AbstractDocumentBuilder<T>
implements DocumentBuilder

Set up and provide a manager for classes which are indexed via @IndexedEmbedded, but themselves do not contain the @Indexed annotation.

Author:
Gavin King, Emmanuel Bernard, Sylvain Vieujot, Richard Hallier, Hardy Ferentschik

Nested Class Summary
 
Nested classes/interfaces inherited from class org.hibernate.search.engine.AbstractDocumentBuilder
AbstractDocumentBuilder.PropertiesMetadata
 
Field Summary
 
Fields inherited from class org.hibernate.search.engine.AbstractDocumentBuilder
beanClass, beanXClassName, containedInCollectionRoles, entityState, fieldCollectionRoles, indexedEmbeddedCollectionRoles, metadata, reflectionManager
 
Fields inherited from interface org.hibernate.search.engine.DocumentBuilder
CLASS_FIELDNAME
 
Constructor Summary
DocumentBuilderContainedEntity(org.hibernate.annotations.common.reflection.XClass xClass, ConfigContext context, org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager, Set<org.hibernate.annotations.common.reflection.XClass> optimizationBlackList)
          Constructor used on contained entities not annotated with @Indexed themselves.
 
Method Summary
 void addWorkToQueue(Class<T> entityClass, T entity, Serializable id, boolean delete, boolean add, boolean batch, List<LuceneWork> queue)
           
protected  void documentBuilderSpecificChecks(org.hibernate.annotations.common.reflection.XProperty member, AbstractDocumentBuilder.PropertiesMetadata propertiesMetadata, boolean isRoot, String prefix, ConfigContext context)
           
 Serializable getId(Object entity)
          In case of an indexed entity, return the value of it's identifier: what is marked as @Id or @DocumentId; in case the entity uses @ProvidedId, it's illegal to call this method.
 
Methods inherited from class org.hibernate.search.engine.AbstractDocumentBuilder
addToScopedAnalyzer, appendContainedInWorkForInstance, forceStateInspectionOptimizationsDisabled, getAnalyzer, getAnalyzer, getBeanClass, getBeanXClass, getBoost, getDynamicBoost, getEntityState, getIndex, getMappedSubclasses, getMetadata, getPrecisionStep, getSimilarity, getTermVector, isCollectionRoleExcluded, isDirty, isRoot, postInitialize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DocumentBuilderContainedEntity

public DocumentBuilderContainedEntity(org.hibernate.annotations.common.reflection.XClass xClass,
                                      ConfigContext context,
                                      org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager,
                                      Set<org.hibernate.annotations.common.reflection.XClass> optimizationBlackList)
Constructor used on contained entities not annotated with @Indexed themselves.

Parameters:
xClass - The class for which to build a DocumentBuilderContainedEntity.
context - Handle to default configuration settings.
reflectionManager - Reflection manager to use for processing the annotations.
optimizationBlackList - mutable register, keeps track of types on which we need to disable collection events optimizations
Method Detail

documentBuilderSpecificChecks

protected void documentBuilderSpecificChecks(org.hibernate.annotations.common.reflection.XProperty member,
                                             AbstractDocumentBuilder.PropertiesMetadata propertiesMetadata,
                                             boolean isRoot,
                                             String prefix,
                                             ConfigContext context)
Specified by:
documentBuilderSpecificChecks in class AbstractDocumentBuilder<T>

addWorkToQueue

public void addWorkToQueue(Class<T> entityClass,
                           T entity,
                           Serializable id,
                           boolean delete,
                           boolean add,
                           boolean batch,
                           List<LuceneWork> queue)
Specified by:
addWorkToQueue in class AbstractDocumentBuilder<T>

getId

public Serializable getId(Object entity)
Description copied from class: AbstractDocumentBuilder
In case of an indexed entity, return the value of it's identifier: what is marked as @Id or @DocumentId; in case the entity uses @ProvidedId, it's illegal to call this method.

Specified by:
getId in class AbstractDocumentBuilder<T>
Parameters:
entity - the instance for which to retrieve the id
Returns:
the value, or null if it's not an indexed entity


Copyright © 2006-2012 Red Hat Middleware, LLC. All Rights Reserved