to.etc.domui.util.db
Class QBasicModelCopier
java.lang.Object
to.etc.domui.util.db.QBasicModelCopier
- All Implemented Interfaces:
- IModelCopier
- Direct Known Subclasses:
- HibernateModelCopier
public abstract class QBasicModelCopier
- extends java.lang.Object
- implements IModelCopier
Method Summary |
static void |
assertPrivateContext(QDataContext dc)
Make sure the data context is not a shared one. |
|
copyInstanceDeep(QDataContext targetdc,
QDataContext sourcedc,
T source)
|
|
copyInstanceShallow(QDataContext dc,
T source)
Do a shallow copy of the instance. |
protected void |
deleteFromTarget(QBasicModelCopier.CopyInfo donemap,
java.lang.Object obj)
|
protected abstract QPersistentObjectState |
getObjectState(QDataContext dc,
java.lang.Class<?> pclass,
java.lang.Object pk)
|
protected abstract QPersistentObjectState |
getObjectState(QDataContext dc,
java.lang.Object instance)
|
protected abstract
|
isUnloadedChildList(T source,
PropertyMetaModel<?> pmm)
|
protected abstract
|
isUnloadedParent(T source,
PropertyMetaModel<?> pmm)
|
protected java.lang.Object |
loadCopyFrom(QDataContext dc,
java.lang.Object source,
ClassMetaModel cmm,
boolean refonly)
|
protected void |
save(QBasicModelCopier.CopyInfo ci,
java.lang.Object instance)
Does the actual save of a new object into the database context. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
QBasicModelCopier
public QBasicModelCopier()
isUnloadedParent
protected abstract <T> boolean isUnloadedParent(T source,
PropertyMetaModel<?> pmm)
throws java.lang.Exception
- Throws:
java.lang.Exception
isUnloadedChildList
protected abstract <T> boolean isUnloadedChildList(T source,
PropertyMetaModel<?> pmm)
throws java.lang.Exception
- Throws:
java.lang.Exception
getObjectState
protected abstract QPersistentObjectState getObjectState(QDataContext dc,
java.lang.Object instance)
throws java.lang.Exception
- Throws:
java.lang.Exception
getObjectState
protected abstract QPersistentObjectState getObjectState(QDataContext dc,
java.lang.Class<?> pclass,
java.lang.Object pk)
throws java.lang.Exception
- Throws:
java.lang.Exception
assertPrivateContext
public static void assertPrivateContext(QDataContext dc)
- Make sure the data context is not a shared one.
- Parameters:
dc
-
save
protected void save(QBasicModelCopier.CopyInfo ci,
java.lang.Object instance)
throws java.lang.Exception
- Does the actual save of a new object into the database context. This can be overridden when the
persistence framework fscks up the save process (Cough "Hibernate" Cough)...
- Parameters:
ci
- instance
-
- Throws:
java.lang.Exception
copyInstanceShallow
public <T> T copyInstanceShallow(QDataContext dc,
T source)
throws java.lang.Exception
- Do a shallow copy of the instance. This only copies all public fields.
- Specified by:
copyInstanceShallow
in interface IModelCopier
- Throws:
java.lang.Exception
- See Also:
IModelCopier.copyInstanceShallow(to.etc.webapp.query.QDataContext, java.lang.Object)
copyInstanceDeep
public <T> T copyInstanceDeep(QDataContext targetdc,
QDataContext sourcedc,
T source)
throws java.lang.Exception
- Specified by:
copyInstanceDeep
in interface IModelCopier
- Type Parameters:
T
- - Parameters:
targetdc
- sourcedc
- source
-
- Returns:
-
- Throws:
java.lang.Exception
deleteFromTarget
protected void deleteFromTarget(QBasicModelCopier.CopyInfo donemap,
java.lang.Object obj)
throws java.lang.Exception
- Throws:
java.lang.Exception
loadCopyFrom
protected java.lang.Object loadCopyFrom(QDataContext dc,
java.lang.Object source,
ClassMetaModel cmm,
boolean refonly)
throws java.lang.Exception
- Throws:
java.lang.Exception