01: /**
02: * The contents of this file are subject to the OpenXML Public
03: * License Version 1.0; you may not use this file except in
04: * compliance with the License. You may obtain a copy of the
05: * License at http://www.openxml.org/license/
06: *
07: * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED ON AN "AS IS" BASIS
08: * WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED,
09: * INCLUDING AND WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE
10: * AND DOCUMENTATION IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A
11: * PARTICULAR PURPOSE OR NON-INFRINGING. SEE THE LICENSE FOR THE
12: * SPECIFIC LANGUAGE GOVERNING RIGHTS AND LIMITATIONS UNDER THE
13: * LICENSE.
14: *
15: * The Initial Developer of this code under the License is
16: * OpenXML.org. Portions created by OpenXML.org and/or Assaf Arkin
17: * are Copyright (C) 1998, 1999 OpenXML.org. All Rights Reserved.
18: */package org.ozoneDB.xml.dom.iterator;
19:
20: import org.w3c.dom.*;
21:
22: /**
23: * Listener interface allows node to notify iterator when a child is removed,
24: * so iterator may adjust accordingly. When an iterator is created on a node
25: * tree, the iterator is registered as a listener on that tree. When a node
26: * is removed from that tree, the iterator is notified by the tree top node,
27: * and if pointing to that node will adjust itself to point to a different node
28: * that still belongs to the tree,
29: *
30: * @version $Revision: 1.1 $ $Date: 2001/12/18 11:03:24 $
31: * @author <a href="mailto:arkin@trendline.co.il">Assaf Arkin</a>
32: * @see TreeIteratorImpl#asNodeIteratorListener
33: * @see ListIteratorImpl#asNodeIteratorListener
34: */
35: public interface NodeIteratorListener {
36:
37: /**
38: * Called to notify this iterator that a particular node has been removed.
39: * If the iterator is pointing at that node, or one of its childern, it must
40: * adjust accordingly.
41: * <P>
42: * This method only affects the iterator if it is pointing at the removed node
43: * or a child of the removed node. It does not affect the iterator if it is
44: * pointing to a parent of the removed node, or the removed node is on some
45: * other branch of the document tree.
46: *
47: * @param node The node being removed
48: */
49: public void removeNode(Node node);
50:
51: }
|