我想创建一个错误消息的情况下,父对象已被调用删除,但该对象内仍有子对象。 例如,有一个包含多个客户对象的项目对象。如果项目对象被删除,但是项目仍然附带一个客户,然后显示错误消息,我想要显示一条错误消息。如何在删除子对象之前删除父对象时创建错误消息?
是否有某种注释可以检查是否有客户在场?
我想创建一个错误消息的情况下,父对象已被调用删除,但该对象内仍有子对象。 例如,有一个包含多个客户对象的项目对象。如果项目对象被删除,但是项目仍然附带一个客户,然后显示错误消息,我想要显示一条错误消息。如何在删除子对象之前删除父对象时创建错误消息?
是否有某种注释可以检查是否有客户在场?
该父母必须照顾它的儿童。 父必须提高错误(抛出异常,返回错误代码等),如果它仍然有子项,并且不能被删除。
类似的东西:
public boolean dispose() {
if (hasChildren())
return false; // not disposed/deleted
// do disposing stuff
isDisposed = true; // flag the disposed state
return true; // disposed/deleted
}
在一般情况下,如果一个对象在另一个对象的既得利益,你可以使用类似的Observer pattern。在这种情况下,当孩子被创建时,父母可以观察它。
在你的情况下,当父对象被销毁时(比如在它的finalize()方法中),它可以查看是否有子对象存在并抛出错误。
如果父节点维护一个子节点列表,那么如果列表不是空的,你可能会在父节点的finalize()方法中抛出一个错误。
编辑:您可能不得不等待垃圾收集发生finalize()被调用。全文请看Is there a destructor for Java?。
没有更多的上下文,你的问题是非常没有意义的。 Hou甚至没有说过是否涉及数据库。 – 2011-04-15 17:39:29
我同意。需要更多的上下文。 – 2011-04-15 17:44:52