Package org.copperengine.core.persistent
Class MementoUtil
- java.lang.Object
-
- org.copperengine.core.persistent.MementoUtil
-
public class MementoUtil extends java.lang.Object
Utility class to help find the delta to persist upon saving of a persistent workflow. This class will work out-of-the-box for instances assignable to PersistenEntity. If user classes shall be handled, override the methodsequals(Object, Object)
,identifier(Object)
andclone(Object)
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
MementoUtil.IteratorCallback
protected static interface
MementoUtil.PersistentMemberAccessor
-
Constructor Summary
Constructors Constructor Description MementoUtil()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCurrentEntity(java.lang.Object entity)
Use this entity as the newvoid
addMementoEntity(java.lang.Object entity)
Remember this entity after loadingprotected void
autoIteratePersistentMembers(Workflow<?> wf, MementoUtil.IteratorCallback callback)
void
autoLoad(Workflow<?> wf, PersistenceContext pc)
void
autoStore(Workflow<?> wf, PersistenceContext pc)
protected <T> T
clone(T obj)
protected boolean
ensureId(java.lang.String hint, java.lang.Object entity)
protected boolean
equals(java.lang.Object currentObject, java.lang.Object mementoObject)
protected java.util.Collection<MementoUtil.PersistentMemberAccessor>
genericCreateAccessors(java.lang.Class<?> clazz)
protected java.lang.Object
identifier(java.lang.Object entity)
protected boolean
isPersistableMember(java.lang.reflect.Field f)
void
load(PersistenceContext pc)
void
store(PersistenceContext pc)
-
-
-
Method Detail
-
addMementoEntity
public void addMementoEntity(java.lang.Object entity)
Remember this entity after loading- Parameters:
entity
- The entity to be remembered
-
addCurrentEntity
public void addCurrentEntity(java.lang.Object entity)
Use this entity as the new- Parameters:
entity
- the entity to be used as the new
-
autoLoad
public void autoLoad(Workflow<?> wf, PersistenceContext pc)
-
autoStore
public void autoStore(Workflow<?> wf, PersistenceContext pc)
-
load
public void load(PersistenceContext pc)
-
store
public void store(PersistenceContext pc)
-
autoIteratePersistentMembers
protected void autoIteratePersistentMembers(Workflow<?> wf, MementoUtil.IteratorCallback callback)
-
identifier
protected java.lang.Object identifier(java.lang.Object entity)
-
clone
protected <T> T clone(T obj)
-
equals
protected boolean equals(java.lang.Object currentObject, java.lang.Object mementoObject)
-
ensureId
protected boolean ensureId(java.lang.String hint, java.lang.Object entity)
-
genericCreateAccessors
protected java.util.Collection<MementoUtil.PersistentMemberAccessor> genericCreateAccessors(java.lang.Class<?> clazz)
-
isPersistableMember
protected boolean isPersistableMember(java.lang.reflect.Field f)
-
-