2011-04-15 34 views
1

我想创建一个错误消息的情况下,父对象已被调用删除,但该对象内仍有子对象。 例如,有一个包含多个客户对象的项目对象。如果项目对象被删除,但是项目仍然附带一个客户,然后显示错误消息,我想要显示一条错误消息。如何在删除子对象之前删除父对象时创建错误消息?

是否有某种注释可以检查是否有客户在场?

+0

没有更多的上下文,你的问题是非常没有意义的。 Hou甚至没有说过是否涉及数据库。 – 2011-04-15 17:39:29

+0

我同意。需要更多的上下文。 – 2011-04-15 17:44:52

回答

2

父母必须照顾它的儿童必须提高错误(抛出异常,返回错误代码等),如果它仍然有子项,并且不能被删除。

类似的东西:


public boolean dispose() { 
    if (hasChildren()) 
    return false;  // not disposed/deleted 

    // do disposing stuff 
    isDisposed = true; // flag the disposed state 
    return true;   // disposed/deleted 
} 
-1

在一般情况下,如果一个对象在另一个对象的既得利益,你可以使用类似的Observer pattern。在这种情况下,当孩子被创建时,父母可以观察它。

在你的情况下,当父对象被销毁时(比如在它的finalize()方法中),它可以查看是否有子对象存在并抛出错误。

如果父节点维护一个子节点列表,那么如果列表不是空的,你可能会在父节点的finalize()方法中抛出一个错误。

编辑:您可能不得不等待垃圾收集发生finalize()被调用。全文请看Is there a destructor for Java?