@NotStorableClass public abstract class AbstractDeepCopy extends Object
Modifier and Type | Field and Description |
---|---|
protected ClassInfoFactory |
classInfoFactory |
protected IDeepCopyServiceDelegate |
deepCopyServiceDelagate |
protected static HelperReflect |
HELPER_REFLECT |
protected JoafipLogger |
logger |
protected Map<Object,Object> |
objectCopyMap
map of object copy by source object
|
protected Object |
rootSourceObject |
Modifier | Constructor and Description |
---|---|
protected |
AbstractDeepCopy() |
Modifier and Type | Method and Description |
---|---|
protected Object |
deepCopy(Object rootSourceObject,
IDeepCopyServiceDelegate deepCopyServiceDelagate,
boolean forceLoad) |
protected abstract void |
deepCopyDone() |
protected abstract void |
forceLoadImpl(Object objectToCopy) |
protected abstract boolean |
mustBeCopied(Object objectToCopy,
ClassInfo classInfo) |
protected abstract Object |
newInstanceForObjectCopy(Object sourceObject,
ClassInfo sourceObjectClassInfo)
create a new instance copy of source object
the new instance must be done without calling constructor since state will be set by field value copy |
protected final JoafipLogger logger
protected static final HelperReflect HELPER_REFLECT
protected transient Object rootSourceObject
protected transient ClassInfoFactory classInfoFactory
protected transient IDeepCopyServiceDelegate deepCopyServiceDelagate
protected Object deepCopy(Object rootSourceObject, IDeepCopyServiceDelegate deepCopyServiceDelagate, boolean forceLoad) throws CopierException
rootSourceObject
- the source objectdeepCopyServiceDelagate
- forceLoad
- true if force proxy loadCopierException
protected abstract void deepCopyDone() throws CopierException
CopierException
protected abstract void forceLoadImpl(Object objectToCopy) throws ObjectIOException, ObjectIODataRecordNotFoundException, ObjectIOInvalidClassException, ObjectIOClassNotFoundException, ObjectIODataCorruptedException, ObjectIONotSerializableException, ProxyException
protected abstract boolean mustBeCopied(Object objectToCopy, ClassInfo classInfo) throws CopierException
CopierException
protected abstract Object newInstanceForObjectCopy(Object sourceObject, ClassInfo sourceObjectClassInfo) throws CopierException
sourceObject
- the source objectsourceObjectClassInfo
- the class information of the object to createCopierException
Copyright © 2007-2012 Luc Peuvrier. All Rights Reserved.