3ff832ed2e045bb31548b58487b409b1d255c192
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / tidy / DOMNodeListImpl.java
1 /*
2  * @(#)DOMNodeListImpl.java   1.11 2000/08/16
3  *
4  */
5
6 package net.sourceforge.phpdt.tidy;
7
8 /**
9  *
10  * DOMNodeListImpl
11  *
12  * (c) 1998-2000 (W3C) MIT, INRIA, Keio University
13  * See Tidy.java for the copyright notice.
14  * Derived from <a href="http://www.w3.org/People/Raggett/tidy">
15  * HTML Tidy Release 4 Aug 2000</a>
16  *
17  * @author  Dave Raggett <dsr@w3.org>
18  * @author  Andy Quick <ac.quick@sympatico.ca> (translation to Java)
19  * @version 1.4, 1999/09/04 DOM support
20  * @version 1.5, 1999/10/23 Tidy Release 27 Sep 1999
21  * @version 1.6, 1999/11/01 Tidy Release 22 Oct 1999
22  * @version 1.7, 1999/12/06 Tidy Release 30 Nov 1999
23  * @version 1.8, 2000/01/22 Tidy Release 13 Jan 2000
24  * @version 1.9, 2000/06/03 Tidy Release 30 Apr 2000
25  * @version 1.10, 2000/07/22 Tidy Release 8 Jul 2000
26  * @version 1.11, 2000/08/16 Tidy Release 4 Aug 2000
27  */
28
29 /**
30  * <p>The items in the <code>NodeList</code> are accessible via an integral 
31  * index, starting from 0. 
32  *
33  */
34 public class DOMNodeListImpl implements org.w3c.dom.NodeList {
35
36     private Node parent = null;
37
38     protected DOMNodeListImpl(Node parent)
39     {
40         this.parent = parent;
41     }
42
43     /**
44      * @see org.w3c.dom.NodeList#item
45      */
46     public org.w3c.dom.Node item(int index)
47     {
48         int i = 0;
49         Node node = parent.content;
50         while (node != null) {
51             if (i >= index) break;
52             i++;
53             node = node.next;
54         }
55         if (node != null)
56             return node.getAdapter();
57         else
58             return null;
59     }
60
61     /**
62      * @see org.w3c.dom.NodeList#getLength
63      */
64     public int getLength()
65     {
66         int len = 0;
67         Node node = parent.content;
68         while (node != null) {
69             len++;
70             node = node.next;
71         }
72         return len;
73     }
74
75 }