org.hibernate.event.def
Class DefaultMergeEventListener

java.lang.Object
  extended byorg.hibernate.event.def.AbstractEventListener
      extended byorg.hibernate.event.def.AbstractReassociateEventListener
          extended byorg.hibernate.event.def.AbstractSaveEventListener
              extended byorg.hibernate.event.def.DefaultMergeEventListener
All Implemented Interfaces:
MergeEventListener, Serializable

public class DefaultMergeEventListener
extends AbstractSaveEventListener
implements MergeEventListener

Defines the default copy event listener used by hibernate for copying entities in response to generated copy events.

Author:
Gavin King
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.hibernate.event.def.AbstractSaveEventListener
DELETED, DETACHED, PERSISTENT, TRANSIENT
 
Constructor Summary
DefaultMergeEventListener()
           
DefaultMergeEventListener(boolean isSaveOrUpdateCopyListener)
           
 
Method Summary
protected  void cascadeOnMerge(MergeEvent event, EntityPersister persister, Object entity, Map copyCache)
          Perform any cascades needed as part of this copy event.
protected  void copyValues(EntityPersister persister, Object entity, Object target, SessionImplementor source, Map copyCache)
           
protected  Object entityIsDetached(MergeEvent event, Map copyCache)
           
protected  Object entityIsPersistent(MergeEvent event, Map copyCache)
           
protected  Object entityIsTransient(MergeEvent event, Map copyCache)
           
protected  Boolean getAssumedUnsaved()
           
protected  Cascades.CascadingAction getCascadeAction()
           
 Object onMerge(MergeEvent event)
          Handle the given merge event.
 Object onMerge(MergeEvent event, Map copyCache)
          Handle the given merge event.
 
Methods inherited from class org.hibernate.event.def.AbstractSaveEventListener
cascadeAfterSave, cascadeBeforeSave, getEntityState, isVersionIncrementDisabled, performSave, performSaveOrReplicate, saveWithGeneratedId, saveWithRequestedId, substituteValuesIfNecessary, visitCollectionsBeforeSave
 
Methods inherited from class org.hibernate.event.def.AbstractReassociateEventListener
reassociate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultMergeEventListener

public DefaultMergeEventListener()

DefaultMergeEventListener

public DefaultMergeEventListener(boolean isSaveOrUpdateCopyListener)
Method Detail

onMerge

public Object onMerge(MergeEvent event)
               throws HibernateException
Handle the given merge event.

Specified by:
onMerge in interface MergeEventListener
Parameters:
event - The merge event to be handled.
Returns:
The result (i.e., the copied entity).
Throws:
HibernateException

onMerge

public Object onMerge(MergeEvent event,
                      Map copyCache)
               throws HibernateException
Handle the given merge event.

Specified by:
onMerge in interface MergeEventListener
Parameters:
event - The merge event to be handled.
Returns:
The result (i.e., the copied entity).
Throws:
HibernateException

entityIsPersistent

protected Object entityIsPersistent(MergeEvent event,
                                    Map copyCache)

entityIsTransient

protected Object entityIsTransient(MergeEvent event,
                                   Map copyCache)

entityIsDetached

protected Object entityIsDetached(MergeEvent event,
                                  Map copyCache)

copyValues

protected void copyValues(EntityPersister persister,
                          Object entity,
                          Object target,
                          SessionImplementor source,
                          Map copyCache)

cascadeOnMerge

protected void cascadeOnMerge(MergeEvent event,
                              EntityPersister persister,
                              Object entity,
                              Map copyCache)
Perform any cascades needed as part of this copy event.

Parameters:
event - The merge event being processed.
persister - The persister of the entity being copied.
entity - The entity being copied.
copyCache - A cache of already copied instance.

getCascadeAction

protected Cascades.CascadingAction getCascadeAction()
Specified by:
getCascadeAction in class AbstractSaveEventListener

getAssumedUnsaved

protected Boolean getAssumedUnsaved()
Overrides:
getAssumedUnsaved in class AbstractSaveEventListener