View Javadoc
1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.lang;
5   
6   import net.sf.saxon.sxpath.IndependentContext;
7   
8   import org.jaxen.Navigator;
9   
10  /**
11   * Interface for performing Language specific XPath handling, such as
12   * initialization and navigation.
13   */
14  public interface XPathHandler {
15  
16      XPathHandler DUMMY = new XPathHandler() {
17          public void initialize() {
18          }
19  
20          public void initialize(IndependentContext context) {
21          }
22  
23          public Navigator getNavigator() {
24              return null;
25          }
26      };
27  
28      /**
29       * Initialize. This is intended to be called by {@link Initializer} to
30       * perform Language specific initialization.
31       */
32      void initialize();
33  
34      /**
35       * Initialize. This is intended to be called by {@link Initializer} to
36       * perform Language specific initialization for Saxon.
37       */
38      void initialize(IndependentContext context);
39  
40      /**
41       * Get a Jaxen Navigator for this Language. May return <code>null</code> if
42       * there is no Jaxen Navigation for this language.
43       */
44      Navigator getNavigator();
45  }