org.hibernate.search.event
Class FullTextIndexEventListener

java.lang.Object
  extended by org.hibernate.search.event.FullTextIndexEventListener
All Implemented Interfaces:
Serializable, org.hibernate.event.Destructible, org.hibernate.event.FlushEventListener, org.hibernate.event.Initializable, org.hibernate.event.PostCollectionRecreateEventListener, org.hibernate.event.PostCollectionRemoveEventListener, org.hibernate.event.PostCollectionUpdateEventListener, org.hibernate.event.PostDeleteEventListener, org.hibernate.event.PostInsertEventListener, org.hibernate.event.PostUpdateEventListener

public class FullTextIndexEventListener
extends Object
implements org.hibernate.event.PostDeleteEventListener, org.hibernate.event.PostInsertEventListener, org.hibernate.event.PostUpdateEventListener, org.hibernate.event.PostCollectionRecreateEventListener, org.hibernate.event.PostCollectionRemoveEventListener, org.hibernate.event.PostCollectionUpdateEventListener, org.hibernate.event.FlushEventListener, org.hibernate.event.Initializable, org.hibernate.event.Destructible

This listener supports setting a parent directory for all generated index files. It also supports setting the analyzer class to be used.

Author:
Gavin King, Emmanuel Bernard, Mattias Arbin, Sanne Grinovero, Hardy Ferentschik
See Also:
Serialized Form

Nested Class Summary
static class FullTextIndexEventListener.Installation
           
 
Field Summary
protected  SearchFactoryImplementor searchFactoryImplementor
           
protected  boolean skipDirtyChecks
           
protected  boolean used
           
 
Constructor Summary
FullTextIndexEventListener()
          Deprecated. As of Hibernate Search 3.3. This method was used for instantiating the event listener when configured in a configuration file. Since Hibernate Core 3.6 Hibernate Search will always be automatically enabled if available on the classpath.
FullTextIndexEventListener(FullTextIndexEventListener.Installation installation)
           
 
Method Summary
 void addSynchronization(org.hibernate.event.EventSource eventSource, Synchronization synchronization)
          Adds a synchronization to be performed in the onFlush method; should only be used as workaround for the case a flush is happening out of transaction.
 void cleanup()
           
 SearchFactoryImplementor getSearchFactoryImplementor()
           
 void initialize(Configuration cfg)
          Initialize method called by Hibernate Core when the SessionFactory starts
 void onFlush(org.hibernate.event.FlushEvent event)
          Make sure the indexes are updated right after the hibernate flush, avoiding object loading during a flush.
 void onPostDelete(org.hibernate.event.PostDeleteEvent event)
           
 void onPostInsert(org.hibernate.event.PostInsertEvent event)
           
 void onPostRecreateCollection(org.hibernate.event.PostCollectionRecreateEvent event)
           
 void onPostRemoveCollection(org.hibernate.event.PostCollectionRemoveEvent event)
           
 void onPostUpdate(org.hibernate.event.PostUpdateEvent event)
           
 void onPostUpdateCollection(org.hibernate.event.PostCollectionUpdateEvent event)
           
protected  void processCollectionEvent(org.hibernate.event.AbstractCollectionEvent event)
           
protected
<T> void
processWork(T entity, Serializable id, WorkType workType, org.hibernate.event.AbstractEvent event, boolean identifierRollbackEnabled)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

used

protected boolean used

skipDirtyChecks

protected boolean skipDirtyChecks

searchFactoryImplementor

protected SearchFactoryImplementor searchFactoryImplementor
Constructor Detail

FullTextIndexEventListener

public FullTextIndexEventListener()
Deprecated. As of Hibernate Search 3.3. This method was used for instantiating the event listener when configured in a configuration file. Since Hibernate Core 3.6 Hibernate Search will always be automatically enabled if available on the classpath.


FullTextIndexEventListener

public FullTextIndexEventListener(FullTextIndexEventListener.Installation installation)
Method Detail

initialize

public void initialize(Configuration cfg)
Initialize method called by Hibernate Core when the SessionFactory starts

Specified by:
initialize in interface org.hibernate.event.Initializable

getSearchFactoryImplementor

public SearchFactoryImplementor getSearchFactoryImplementor()

onPostDelete

public void onPostDelete(org.hibernate.event.PostDeleteEvent event)
Specified by:
onPostDelete in interface org.hibernate.event.PostDeleteEventListener

onPostInsert

public void onPostInsert(org.hibernate.event.PostInsertEvent event)
Specified by:
onPostInsert in interface org.hibernate.event.PostInsertEventListener

onPostUpdate

public void onPostUpdate(org.hibernate.event.PostUpdateEvent event)
Specified by:
onPostUpdate in interface org.hibernate.event.PostUpdateEventListener

processWork

protected <T> void processWork(T entity,
                               Serializable id,
                               WorkType workType,
                               org.hibernate.event.AbstractEvent event,
                               boolean identifierRollbackEnabled)

cleanup

public void cleanup()
Specified by:
cleanup in interface org.hibernate.event.Destructible

onPostRecreateCollection

public void onPostRecreateCollection(org.hibernate.event.PostCollectionRecreateEvent event)
Specified by:
onPostRecreateCollection in interface org.hibernate.event.PostCollectionRecreateEventListener

onPostRemoveCollection

public void onPostRemoveCollection(org.hibernate.event.PostCollectionRemoveEvent event)
Specified by:
onPostRemoveCollection in interface org.hibernate.event.PostCollectionRemoveEventListener

onPostUpdateCollection

public void onPostUpdateCollection(org.hibernate.event.PostCollectionUpdateEvent event)
Specified by:
onPostUpdateCollection in interface org.hibernate.event.PostCollectionUpdateEventListener

processCollectionEvent

protected void processCollectionEvent(org.hibernate.event.AbstractCollectionEvent event)

onFlush

public void onFlush(org.hibernate.event.FlushEvent event)
Make sure the indexes are updated right after the hibernate flush, avoiding object loading during a flush. Not needed during transactions.

Specified by:
onFlush in interface org.hibernate.event.FlushEventListener

addSynchronization

public void addSynchronization(org.hibernate.event.EventSource eventSource,
                               Synchronization synchronization)
Adds a synchronization to be performed in the onFlush method; should only be used as workaround for the case a flush is happening out of transaction. Warning: if the synchronization contains a hard reference to the Session proper cleanup is not guaranteed and memory leaks will happen.

Parameters:
eventSource - should be the Session doing the flush
synchronization - the synchronisation instance


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