View Javadoc

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