01: /*
02: * Copyright 2005-2007 Noelios Consulting.
03: *
04: * The contents of this file are subject to the terms of the Common Development
05: * and Distribution License (the "License"). You may not use this file except in
06: * compliance with the License.
07: *
08: * You can obtain a copy of the license at
09: * http://www.opensource.org/licenses/cddl1.txt See the License for the specific
10: * language governing permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL HEADER in each file and
13: * include the License file at http://www.opensource.org/licenses/cddl1.txt If
14: * applicable, add the following below this CDDL HEADER, with the fields
15: * enclosed by brackets "[]" replaced with your own identifying information:
16: * Portions Copyright [yyyy] [name of copyright owner]
17: */
18:
19: package org.restlet.util;
20:
21: import java.util.AbstractList;
22: import java.util.List;
23:
24: import org.w3c.dom.Node;
25: import org.w3c.dom.NodeList;
26:
27: /**
28: * DOM nodes set that implements the standard List interface for easier
29: * iteration.
30: *
31: * @author Jerome Louvel (contact@noelios.com)
32: */
33: public class NodeSet extends AbstractList<Node> implements List<Node>,
34: NodeList {
35:
36: /** The wrapped node list. */
37: private NodeList nodes;
38:
39: public NodeSet(NodeList nodes) {
40: this .nodes = nodes;
41: }
42:
43: /**
44: * {@inheritDoc org.w3c.dom.NodeList#getLength()}
45: */
46: public int getLength() {
47: return this .nodes.getLength();
48: }
49:
50: /**
51: * {@inheritDoc org.w3c.dom.NodeList#item(int)}
52: */
53: public Node item(int index) {
54: return this .nodes.item(index);
55: }
56:
57: @Override
58: public Node get(int index) {
59: return this .nodes.item(index);
60: }
61:
62: @Override
63: public int size() {
64: return this.nodes.getLength();
65: }
66:
67: }
|