##### Coverage Report - org.jaxen.NamedAccessNavigator

Classes in this File | Line Coverage | Branch Coverage | Complexity
NamedAccessNavigator |
N/A |
N/A |
| 1.0;1

1 |  |
     /*
2 |  |
      $Id: NamedAccessNavigator.java,v 1.3 2005/05/06 17:43:40 elharo Exp $
3 |  |
4 |  |
      Copyright 2003 (C) The Werken Company. All Rights Reserved.
5 |  |
6 |  |
      Redistribution and use of this software and associated documentation
7 |  |
      ("Software"), with or without modification, are permitted provided
8 |  |
      that the following conditions are met:
9 |  |
10 |  |
      1. Redistributions of source code must retain copyright
11 |  |
         statements and notices.  Redistributions must also contain a
12 |  |
         copy of this document.
13 |  |
14 |  |
      2. Redistributions in binary form must reproduce the
15 |  |
         above copyright notice, this list of conditions and the
16 |  |
         following disclaimer in the documentation and/or other
17 |  |
         materials provided with the distribution.
18 |  |
19 |  |
      3. The name "jaxen" must not be used to endorse or promote
20 |  |
         products derived from this Software without prior written
21 |  |
         permission of The Werken Company.  For written permission,
22 |  |
         please contact bob@werken.com.
23 |  |
24 |  |
      4. Products derived from this Software may not be called "jaxen"
25 |  |
         nor may "jaxen" appear in their names without prior written
26 |  |
         permission of The Werken Company. "jaxen" is a registered
27 |  |
         trademark of The Werken Company.
28 |  |
29 |  |
      5. Due credit should be given to The Werken Company.
30 |  |
         (http://jaxen.werken.com/).
31 |  |
32 |  |
      THIS SOFTWARE IS PROVIDED BY THE WERKEN COMPANY AND CONTRIBUTORS
33 |  |
      ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
34 |  |
      NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
35 |  |
      FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
36 |  |
      THE WERKEN COMPANY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
37 |  |
      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
38 |  |
      (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
39 |  |
      SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
40 |  |
      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
41 |  |
      STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
42 |  |
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
43 |  |
      OF THE POSSIBILITY OF SUCH DAMAGE.
44 |  |
45 |  |
      */
46 |  |
     package org.jaxen;
47 |  |
48 |  |
     import java.util.Iterator;
49 |  |
50 |  |
     /**
51 |  |
      * Interface for navigating around an arbitrary object model
52 |  |
      * accessing certain parts by name for performance.
53 |  |
      * <p>
54 |  |
      * This interface must only be implemented by those models that
55 |  |
      * can support this named access behavior.
56 |  |
      *
57 |  |
      * @author Stephen Colebourne
58 |  |
      */
59 |  |
     public interface NamedAccessNavigator extends Navigator {
60 |  |
61 |  |
         /**
62 |  |
          * Retrieve an <code>Iterator</code> that returns the <code>child</code>
63 |  |
          * XPath axis where the names of the children match the supplied name
64 |  |
          * and optional namespace.
65 |  |
          * <p>
66 |  |
          * This method must only return element nodes with the correct name.
67 |  |
          * <p>
68 |  |
          * If the namespaceURI is null, no namespace should be used.
69 |  |
          * The prefix will never be null.
70 |  |
          *
71 |  |
          * @param contextNode  the origin context node
72 |  |
          * @param localName  the local name of the children to return, always present
73 |  |
          * @param namespacePrefix  the prefix of the namespace of the children to return
74 |  |
          * @param namespaceURI  the namespace URI of the children to return
75 |  |
          *
76 |  |
          * @return an Iterator capable of traversing the named children, or null if none
77 |  |
          *
78 |  |
          * @throws UnsupportedAxisException if the child axis is
79 |  |
          *         not supported by this object model
80 |  |
          */
81 |  |
         Iterator getChildAxisIterator(
82 |  |
             Object contextNode,
83 |  |
             String localName, String namespacePrefix, String namespaceURI)
84 |  |
                 throws UnsupportedAxisException;
85 |  |
86 |  |
         /**
87 |  |
          * Retrieve an <code>Iterator</code> that returns the <code>attribute</code>
88 |  |
          * XPath axis where the names of the attributes match the supplied name
89 |  |
          * and optional namespace.
90 |  |
          * <p>
91 |  |
          * This method must only return attribute nodes with the correct name.
92 |  |
          * <p>
93 |  |
          * If the namespaceURI is null, no namespace should be used.
94 |  |
          * The prefix will never be null.
95 |  |
          *
96 |  |
          * @param contextNode  the origin context node
97 |  |
          * @param localName  the local name of the attributes to return, always present
98 |  |
          * @param namespacePrefix  the prefix of the namespace of the attributes to return
99 |  |
          * @param namespaceURI  the URI of the namespace of the attributes to return
100 |  |
          *
101 |  |
          * @return an Iterator capable of traversing the named attributes, or null if none
102 |  |
          *
103 |  |
          * @throws UnsupportedAxisException if the attribute axis is
104 |  |
          *         not supported by this object model
105 |  |
          */
106 |  |
         Iterator getAttributeAxisIterator(
107 |  |
             Object contextNode,
108 |  |
             String localName, String namespacePrefix, String namespaceURI)
109 |  |
                 throws UnsupportedAxisException;
110 |  |
111 |  |
     }