⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commandlineoptions.java

📁 检查Java程序漏洞
💻 JAVA
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package net.sourceforge.pmd;import net.sourceforge.pmd.renderers.CSVRenderer;import net.sourceforge.pmd.renderers.EmacsRenderer;import net.sourceforge.pmd.renderers.HTMLRenderer;import net.sourceforge.pmd.renderers.IDEAJRenderer;import net.sourceforge.pmd.renderers.PapariTextRenderer;import net.sourceforge.pmd.renderers.Renderer;import net.sourceforge.pmd.renderers.SummaryHTMLRenderer;import net.sourceforge.pmd.renderers.TextRenderer;import net.sourceforge.pmd.renderers.VBHTMLRenderer;import net.sourceforge.pmd.renderers.XMLRenderer;import java.io.InputStreamReader;public class CommandLineOptions {    private boolean debugEnabled;    private boolean jdk13;    private boolean shortNamesEnabled;    private String inputFileName;    private String reportFormat;    private String ruleSets;    private String encoding = new InputStreamReader(System.in).getEncoding();    private String[] args;    public CommandLineOptions(String[] args) {        if (args == null || args.length < 3) {            throw new RuntimeException(usage());        }        inputFileName = args[0];        reportFormat = args[1];        ruleSets = args[2];        this.args = args;        for (int i=0; i<args.length; i++) {            if (args[i].equals("-debug")) {                debugEnabled = true;            } else if (args[i].equals("-shortnames")) {                shortNamesEnabled = true;            } else if (args[i].equals("-encoding")) {                encoding = args[i+1];            } else if (args[i].equals("-jdk13")) {                jdk13 = true;            }        }    }    public Renderer createRenderer() {        if (reportFormat.equals("xml")) {            return new XMLRenderer();        } else if (reportFormat.equals("ideaj")) {            return new IDEAJRenderer(args);        } else if (reportFormat.equals("papari")) {            return new PapariTextRenderer();        } else if (reportFormat.equals("text")) {            return new TextRenderer();        } else if (reportFormat.equals("emacs")) {            return new EmacsRenderer();        } else if (reportFormat.equals("csv")) {            return new CSVRenderer();        } else if (reportFormat.equals("html")) {            return new HTMLRenderer();        }        if (reportFormat.equals("summaryhtml")) {            return new SummaryHTMLRenderer();        }        if (reportFormat.equals("vbhtml")) {            return new VBHTMLRenderer();        }        if (!reportFormat.equals("")) {            try {                return (Renderer)Class.forName(reportFormat).newInstance();            } catch (Exception e) {                throw new IllegalArgumentException("Can't find the custom format " + reportFormat + ": " + e.getClass().getName());            }        }        throw new IllegalArgumentException("Can't create report with format of " + reportFormat);    }    public boolean containsCommaSeparatedFileList() {        return inputFileName.indexOf(',') != -1;    }    public String getInputFileName() {        return this.inputFileName;    }    public String getEncoding() {        return this.encoding;    }    public String getReportFormat() {        return this.reportFormat;    }    public String getRulesets() {        return this.ruleSets;    }    public boolean debugEnabled() {        return debugEnabled;    }    public boolean jdk13() {        return jdk13;    }    public boolean shortNamesEnabled() {        return shortNamesEnabled;    }    public String usage() {        return PMD.EOL + PMD.EOL +            "Mandatory arguments:" + PMD.EOL +            "1) A java source code filename or directory" + PMD.EOL +            "2) A report format " + PMD.EOL +            "3) A ruleset filename or a comma-delimited string of ruleset filenames" + PMD.EOL +            PMD.EOL +            "For example: " + PMD.EOL +            "c:\\> java -jar pmd-1.7.jar c:\\my\\source\\code html rulesets/unusedcode.xml,rulesets/imports.xml" + PMD.EOL +            PMD.EOL +            "Optional arguments that may be put after the mandatory arguments are: " + PMD.EOL +            "-debug: prints debugging information " + PMD.EOL +            "-jdk13: enables PMD to parse source code written using 'assert' as an identifier" + PMD.EOL +            "-encoding: specifies the character set encoding of the source code files PMD is reading (i.e., UTF-8)" + PMD.EOL +            "-shortnames: prints shortened filenames in the report" + PMD.EOL +            PMD.EOL +            "For example: " + PMD.EOL +            "c:\\> java -jar pmd-1.7.jar c:\\my\\source\\code html rulesets/unusedcode.xml,rulesets/imports.xml -jdk13 -debug" + PMD.EOL +            "c:\\> java -jar pmd-1.7.jar c:\\my\\source\\code html rulesets/unusedcode.xml,rulesets/imports.xml -encoding UTF-8" + PMD.EOL +            PMD.EOL;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -