View Javadoc

1   /*
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd;
5   
6   import net.sourceforge.pmd.ast.JavaParser;
7   
8   import java.io.InputStream;
9   import java.io.Reader;
10  
11  /**
12   * Interface to create JDK-appropriate parsers.
13   *
14   * @author Tom Copeland
15   */
16  public interface TargetJDKVersion {
17      /**
18       * Creates a parser.
19       *
20       * @param in the stream to parser
21       * @return a parser for the input stream
22       */
23      public JavaParser createParser(InputStream in);
24  
25      /**
26       * Creates a parser.
27       *
28       * @param in an input stream reader
29       * @return a parser for the stream read by the stream reader
30       */
31      public JavaParser createParser(Reader in);
32  
33      public String getVersionString();
34      
35      /**
36       * Default target version.
37       */
38      public static final TargetJDKVersion DEFAULT_JDK_VERSION = new TargetJDK1_5();
39  }