/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.lang; import java.io.Writer; import net.sourceforge.pmd.lang.dfa.DFAGraphRule; import net.sourceforge.pmd.lang.rule.RuleViolationFactory; /** * Interface for obtaining the classes necessary for checking source files of a * specific language. * * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be */ public interface LanguageVersionHandler { /** * Get the DataFlowHandler. */ DataFlowHandler getDataFlowHandler(); /** * Get the XPathHandler. */ XPathHandler getXPathHandler(); /** * Get the RuleViolationFactory. */ RuleViolationFactory getRuleViolationFactory(); /** * Get the default ParserOptions. * * @return ParserOptions */ ParserOptions getDefaultParserOptions(); /** * Get the Parser. * * @return Parser */ Parser getParser(ParserOptions parserOptions); /** * Get the DataFlowFacade. * * @return VisitorStarter */ VisitorStarter getDataFlowFacade(); /** * Get the SymbolFacade. * * @return VisitorStarter */ VisitorStarter getSymbolFacade(); /** * Get the SymbolFacade. * * @param classLoader * A ClassLoader to use for resolving Types. * @return VisitorStarter */ VisitorStarter getSymbolFacade(ClassLoader classLoader); /** * Get the TypeResolutionFacade. * * @param classLoader * A ClassLoader to use for resolving Types. * @return VisitorStarter */ VisitorStarter getTypeResolutionFacade(ClassLoader classLoader); /** * Get the DumpFacade. * * @param writer * The writer to dump to. * @return VisitorStarter */ VisitorStarter getDumpFacade(Writer writer, String prefix, boolean recurse); DFAGraphRule getDFAGraphRule(); }