KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > saxon > tree > DescendantEnumeration


1 package net.sf.saxon.tree;
2 import net.sf.saxon.om.SequenceIterator;
3 import net.sf.saxon.pattern.NodeTest;
4
5 final class DescendantEnumeration extends TreeEnumeration {
6
7     private NodeImpl root;
8     private boolean includeSelf;
9
10     public DescendantEnumeration(NodeImpl node, NodeTest nodeTest, boolean includeSelf) {
11         super(node, nodeTest);
12         root = node;
13         this.includeSelf = includeSelf;
14         if (!includeSelf || !conforms(node)) {
15             advance();
16         }
17     }
18
19     protected void step() {
20         next = next.getNextInDocument(root);
21     }
22
23     /**
24     * Get another enumeration of the same nodes
25     */

26
27     public SequenceIterator getAnother() {
28         return new DescendantEnumeration(start, nodeTest, includeSelf);
29     }
30 }
31
32 //
33
// The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
34
// you may not use this file except in compliance with the License. You may obtain a copy of the
35
// License at http://www.mozilla.org/MPL/
36
//
37
// Software distributed under the License is distributed on an "AS IS" basis,
38
// WITHOUT WARRANTY OF ANY KIND, either express or implied.
39
// See the License for the specific language governing rights and limitations under the License.
40
//
41
// The Original Code is: all this file.
42
//
43
// The Initial Developer of the Original Code is Michael H. Kay.
44
//
45
// Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
46
//
47
// Contributor(s): none.
48
//
49
Popular Tags