ome.security.basic
Class MergeEventListener

java.lang.Object
  extended by org.hibernate.event.def.AbstractReassociateEventListener
      extended by org.hibernate.event.def.AbstractSaveEventListener
          extended by org.hibernate.event.def.DefaultMergeEventListener
              extended by org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener
                  extended by ome.security.basic.MergeEventListener
All Implemented Interfaces:
Serializable, org.hibernate.event.MergeEventListener

public class MergeEventListener
extends org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener

responsible for responding to merge events. in particular in load/re-loading certain types to make use by clients easier. In general, enforces the detached-graph re-attachment "Commandments" as outlined in TODO. Objects that are transient (no ID) are unchanged; objects that are managed (with ID) are checked for validity (i.e. must have a version); and unloaded/filtered objects & collections are re-filled.

Since:
3.0
Version:
$Revision: 5809 $, $Date: 2009-11-19 11:07:55 +0000 (Thu, 19 Nov 2009) $
Author:
Josh Moore, josh.moore at gmx.de
See Also:
Serialized Form

Field Summary
static String MERGE_EVENT
           
 
Fields inherited from class org.hibernate.event.def.AbstractSaveEventListener
DELETED, DETACHED, PERSISTENT, TRANSIENT
 
Constructor Summary
MergeEventListener(CurrentDetails cd, TokenHolder th)
          main constructor.
 
Method Summary
protected  void copyValues(org.hibernate.persister.entity.EntityPersister persister, Object entity, Object target, org.hibernate.engine.SessionImplementor source, Map copyCache)
           
protected  void copyValues(org.hibernate.persister.entity.EntityPersister persister, Object entity, Object target, org.hibernate.engine.SessionImplementor source, Map copyCache, org.hibernate.type.ForeignKeyDirection foreignKeyDirection)
           
protected  void entityIsDetached(org.hibernate.event.MergeEvent event, Map copyCache)
           
protected  void entityIsTransient(org.hibernate.event.MergeEvent event, Map copyCache)
           
protected  void fillReplacement(org.hibernate.event.MergeEvent event)
           
 void onMerge(org.hibernate.event.MergeEvent event)
           
 void onMerge(org.hibernate.event.MergeEvent event, Map copyCache)
           
protected  void propagateHiddenValues(ome.model.IObject from, ome.model.IObject to)
           
 
Methods inherited from class org.hibernate.event.def.DefaultMergeEventListener
cascadeAfterSave, cascadeBeforeSave, cascadeOnMerge, entityIsPersistent, getAssumedUnsaved, getCascadeAction, getMergeMap, getTransientCopyCache, mergeTransientEntity, retryMergeTransientEntities
 
Methods inherited from class org.hibernate.event.def.AbstractSaveEventListener
getEntityState, getLoggableName, invokeSaveLifecycle, isVersionIncrementDisabled, performSave, performSaveOrReplicate, saveWithGeneratedId, saveWithRequestedId, substituteValuesIfNecessary, validate, 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
 

Field Detail

MERGE_EVENT

public static final String MERGE_EVENT
See Also:
Constant Field Values
Constructor Detail

MergeEventListener

public MergeEventListener(CurrentDetails cd,
                          TokenHolder th)
main constructor. Requires a non-null security system

Method Detail

onMerge

public void onMerge(org.hibernate.event.MergeEvent event)
             throws org.hibernate.HibernateException
Specified by:
onMerge in interface org.hibernate.event.MergeEventListener
Overrides:
onMerge in class org.hibernate.event.def.DefaultMergeEventListener
Throws:
org.hibernate.HibernateException

onMerge

public void onMerge(org.hibernate.event.MergeEvent event,
                    Map copyCache)
             throws org.hibernate.HibernateException
Specified by:
onMerge in interface org.hibernate.event.MergeEventListener
Overrides:
onMerge in class org.hibernate.event.def.DefaultMergeEventListener
Throws:
org.hibernate.HibernateException

copyValues

protected void copyValues(org.hibernate.persister.entity.EntityPersister persister,
                          Object entity,
                          Object target,
                          org.hibernate.engine.SessionImplementor source,
                          Map copyCache)
Overrides:
copyValues in class org.hibernate.event.def.DefaultMergeEventListener

copyValues

protected void copyValues(org.hibernate.persister.entity.EntityPersister persister,
                          Object entity,
                          Object target,
                          org.hibernate.engine.SessionImplementor source,
                          Map copyCache,
                          org.hibernate.type.ForeignKeyDirection foreignKeyDirection)
Overrides:
copyValues in class org.hibernate.event.def.DefaultMergeEventListener

entityIsTransient

protected void entityIsTransient(org.hibernate.event.MergeEvent event,
                                 Map copyCache)
Overrides:
entityIsTransient in class org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener

entityIsDetached

protected void entityIsDetached(org.hibernate.event.MergeEvent event,
                                Map copyCache)
Overrides:
entityIsDetached in class org.hibernate.event.def.DefaultMergeEventListener

fillReplacement

protected void fillReplacement(org.hibernate.event.MergeEvent event)

propagateHiddenValues

protected void propagateHiddenValues(ome.model.IObject from,
                                     ome.model.IObject to)


OmeroJava Api

Version: Beta4.2.1-r8614-Beta4.2-b41

Copyright © 2009 The University of Dundee. All Rights Reserved.