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 java.io.Writer;
    7
    8   import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
    9
    10  /**
    11   * Interface for obtaining the classes necessary for checking source files
    12   * of a specific language.
    13   *
    14   * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be
    15   */
    16  public interface LanguageVersionHandler {
    17
    18      /**
    19       * Get the DataFlowHandler.
    20       */
    21      DataFlowHandler getDataFlowHandler();
    22
    23      /**
    24       * Get the XPathHandler.
    25       */
    26      XPathHandler getXPathHandler();
    27
    28      /**
    29       * Get the RuleViolationFactory.
    30       */
    31      RuleViolationFactory getRuleViolationFactory();
    32
    33      /**
    34       * Get the default ParserOptions.
    35       * @return ParserOptions
    36       */
    37      ParserOptions getDefaultParserOptions();
    38
    39      /**
    40       * Get the Parser.
    41       *
    42       * @return Parser
    43       */
    44      Parser getParser(ParserOptions parserOptions);
    45
    46      /**
    47       * Get the DataFlowFacade.
    48       *
    49       * @return VisitorStarter
    50       */
    51      VisitorStarter getDataFlowFacade();
    52
    53      /**
    54       * Get the SymbolFacade.
    55       *
    56       * @return VisitorStarter
    57       */
    58      VisitorStarter getSymbolFacade();
    59
    60      /**
    61       * Get the TypeResolutionFacade.
    62       *
    63       * @param classLoader A ClassLoader to use for resolving Types.
    64       * @return VisitorStarter
    65       */
    66      VisitorStarter getTypeResolutionFacade(ClassLoader classLoader);
    67
    68      /**
    69       * Get the DumpFacade.
    70       *
    71       * @param writer The writer to dump to.
    72       * @return VisitorStarter
    73       */
    74      VisitorStarter getDumpFacade(Writer writer, String prefix, boolean recurse);
    75  }