KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > hp > hpl > jena > util > xml > SimpleXMLPathDocument


1 /*****************************************************************************
2  * Source code information
3  * -----------------------
4  * Original author Ian Dickinson, HP Labs Bristol
5  * Author email ian.dickinson@hp.com
6  * Package Jena 2
7  * Web http://sourceforge.net/projects/jena/
8  * Created 04-Dec-2003
9  * Filename $RCSfile: SimpleXMLPathDocument.java,v $
10  * Revision $Revision: 1.4 $
11  * Release status $State: Exp $
12  *
13  * Last modified on $Date: 2005/02/21 12:20:40 $
14  * by $Author: andy_seaborne $
15  *
16  * (c) Copyright 2001, 2002, 2003, 2004, 2005 Hewlett-Packard Development Company, LP
17  * [See end of file]
18  *****************************************************************************/

19
20 // Package
21
///////////////
22
package com.hp.hpl.jena.util.xml;
23
24
25 // Imports
26
///////////////
27
import java.util.*;
28
29 import org.w3c.dom.*;
30
31 import com.hp.hpl.jena.util.iterator.SingletonIterator;
32
33
34 /**
35  * <p>
36  * An implementation of simple XML path that returns the document element for
37  * an xml document.
38  * </p>
39  *
40  * @author Ian Dickinson, HP Labs (<a HREF="mailto:Ian.Dickinson@hp.com" >email</a>)
41  * @version CVS $Id: SimpleXMLPathDocument.java,v 1.4 2005/02/21 12:20:40 andy_seaborne Exp $
42  */

43 public class SimpleXMLPathDocument
44     implements SimpleXMLPathComponent
45 {
46
47     // Constants
48
//////////////////////////////////
49

50     // Static variables
51
//////////////////////////////////
52

53     // Instance variables
54
//////////////////////////////////
55

56     // Constructors
57
//////////////////////////////////
58

59     // External signature methods
60
//////////////////////////////////
61

62     /**
63      * Answer an iterator containing only the document element of the given document
64      * @param node A document node
65      */

66     public Iterator getAll( Node node ) {
67         if (!(node instanceof Document)) {
68             throw new IllegalArgumentException JavaDoc( "Tried to evaluate a document path expression on a non document: " + node.getClass().getName() );
69         }
70         
71         return new SingletonIterator( ((Document) node).getDocumentElement() );
72     }
73     
74
75     /**
76      * Answer the document element of the given document
77      * @param node A document node
78      */

79     public Object JavaDoc getFirst( Node node ) {
80         if (!(node instanceof Document)) {
81             throw new IllegalArgumentException JavaDoc( "Tried to evaluate a document path expression on a non document: " + node.getClass().getName() );
82         }
83         
84         return ((Document) node).getDocumentElement();
85     }
86     
87
88     // Internal implementation methods
89
//////////////////////////////////
90

91     //==============================================================================
92
// Inner class definitions
93
//==============================================================================
94

95 }
96
97
98 /*
99  * (c) Copyright 2001, 2002, 2003, 2004, 2005 Hewlett-Packard Development Company, LP
100  * All rights reserved.
101  *
102  * Redistribution and use in source and binary forms, with or without
103  * modification, are permitted provided that the following conditions
104  * are met:
105  * 1. Redistributions of source code must retain the above copyright
106  * notice, this list of conditions and the following disclaimer.
107  * 2. Redistributions in binary form must reproduce the above copyright
108  * notice, this list of conditions and the following disclaimer in the
109  * documentation and/or other materials provided with the distribution.
110  * 3. The name of the author may not be used to endorse or promote products
111  * derived from this software without specific prior written permission.
112  *
113  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
114  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
115  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
116  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
117  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
118  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
119  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
120  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
121  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
122  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
123  */

124
Popular Tags