1 package net.sourceforge.pmd.lang.jsp;
2
3 import java.io.Writer;
4
5 import net.sf.saxon.sxpath.IndependentContext;
6 import net.sourceforge.pmd.lang.AbstractLanguageVersionHandler;
7 import net.sourceforge.pmd.lang.Parser;
8 import net.sourceforge.pmd.lang.ParserOptions;
9 import net.sourceforge.pmd.lang.VisitorStarter;
10 import net.sourceforge.pmd.lang.XPathHandler;
11 import net.sourceforge.pmd.lang.ast.Node;
12 import net.sourceforge.pmd.lang.ast.xpath.AbstractASTXPathHandler;
13 import net.sourceforge.pmd.lang.jsp.ast.DumpFacade;
14 import net.sourceforge.pmd.lang.jsp.ast.JspNode;
15 import net.sourceforge.pmd.lang.jsp.rule.JspRuleViolationFactory;
16 import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
17
18
19
20
21
22
23 public class JspHandler extends AbstractLanguageVersionHandler {
24
25 @Override
26 public XPathHandler getXPathHandler() {
27 return new AbstractASTXPathHandler() {
28 public void initialize() {
29 }
30
31 public void initialize(IndependentContext context) {
32 }
33 };
34 }
35
36 public RuleViolationFactory getRuleViolationFactory() {
37 return JspRuleViolationFactory.INSTANCE;
38 }
39
40 public Parser getParser(ParserOptions parserOptions) {
41 return new JspParser(parserOptions);
42 }
43
44 @Override
45 public VisitorStarter getDumpFacade(final Writer writer, final String prefix, final boolean recurse) {
46 return new VisitorStarter() {
47 public void start(Node rootNode) {
48 new DumpFacade().initializeWith(writer, prefix, recurse, (JspNode) rootNode);
49 }
50 };
51 }
52 }