KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lobobrowser > html > domimpl > ChildHTMLCollection


1 /*
2     GNU LESSER GENERAL PUBLIC LICENSE
3     Copyright (C) 2006 The Lobo Project
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Lesser General Public
7     License as published by the Free Software Foundation; either
8     version 2.1 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13     Lesser General Public License for more details.
14
15     You should have received a copy of the GNU Lesser General Public
16     License along with this library; if not, write to the Free Software
17     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19     Contact info: xamjadmin@users.sourceforge.net
20 */

21 /*
22  * Created on Dec 3, 2005
23  */

24 package org.lobobrowser.html.domimpl;
25
26 import org.lobobrowser.js.*;
27 import org.w3c.dom.Node JavaDoc;
28 import org.w3c.dom.html2.HTMLCollection;
29
30 public class ChildHTMLCollection extends AbstractScriptableDelegate implements HTMLCollection {
31     private final NodeImpl rootNode;
32
33     /**
34      * @param node
35      */

36     public ChildHTMLCollection(NodeImpl node) {
37         super();
38         rootNode = node;
39     }
40     
41     public int getLength() {
42         return this.rootNode.getChildCount();
43     }
44
45     public Node JavaDoc item(int index) {
46         return this.rootNode.getChildAtIndex(index);
47     }
48
49     public Node JavaDoc namedItem(String JavaDoc name) {
50         org.w3c.dom.Document JavaDoc doc = this.rootNode.getOwnerDocument();
51         if(doc == null) {
52             return null;
53         }
54         //TODO: This might get elements that are not descendents.
55
Node JavaDoc node = (Node JavaDoc) doc.getElementById(name);
56         if(node != null && node.getParentNode() == this.rootNode) {
57             return node;
58         }
59         return null;
60     }
61     
62     public int indexOf(Node JavaDoc node) {
63         return this.rootNode.getChildIndex(node);
64     }
65 }
66
Popular Tags