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

📄 abstractrule.java

📁 检查Java程序漏洞
💻 JAVA
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package net.sourceforge.pmd;import net.sourceforge.pmd.ast.ASTCompilationUnit;import net.sourceforge.pmd.ast.JavaParserVisitorAdapter;import java.util.Iterator;import java.util.List;import java.util.Properties;public abstract class AbstractRule extends JavaParserVisitorAdapter implements Rule {    private String name = getClass().getName();    private Properties properties = new Properties();    private String message;    private String description;    private String example;    private boolean m_include;    private int m_priority = LOWEST_PRIORITY;    public String getDescription() {        return description;    }    public void setDescription(String description) {        this.description = description;    }    public String getExample() {        return example;    }    public void setExample(String example) {        this.example = example;    }    public boolean hasProperty(String name) {        return properties.containsKey(name);    }    public void addProperty(String name, String value) {        properties.setProperty(name, value);    }    public double getDoubleProperty(String name) {        return Double.parseDouble(properties.getProperty(name));    }    public int getIntProperty(String name) {        return Integer.parseInt(properties.getProperty(name));    }    public boolean getBooleanProperty(String name) {        return Boolean.valueOf(properties.getProperty(name)).booleanValue();    }    public String getStringProperty(String name) {        return properties.getProperty(name);    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getMessage() {        return message;    }    public void setMessage(String message) {        this.message = message;    }    public boolean equals(Object o) {        if (!(o instanceof Rule)) {            return false;        }        return ((Rule)o).getName().equals(getName());    }    public int hashCode() {        return getName().hashCode();    }    protected void visitAll(List acus, RuleContext ctx) {        for (Iterator i = acus.iterator(); i.hasNext();) {            ASTCompilationUnit node = (ASTCompilationUnit) i.next();            visit(node, ctx);        }    }    public void apply(List acus, RuleContext ctx) {        visitAll(acus, ctx);    }    public RuleViolation createRuleViolation(RuleContext ctx, int lineNumber) {        return new RuleViolation(this, lineNumber, ctx);    }    public RuleViolation createRuleViolation(RuleContext ctx, int lineNumber, String specificDescription) {        return new RuleViolation(this, lineNumber, specificDescription, ctx);    }    /**     ********************************************************************************     *     * Gets an enumeration to enumerate through this rule's property names.     *     * @return An enumeration of property names     */    public Properties getProperties() {        return properties;    }    /**     *********************************************************************************     *     * When the rule is to be included in the analysis, returns true; otherwise, returns false.     *     * @return True when the rule is included in analysis.     */    public boolean include() {        return m_include;    }    /**     *********************************************************************************     *     * When the rule is to be included in the analysis, set to true; otherwise, set to false.     *     * @param include True when the rule is included in analysis.     */    public void setInclude(boolean include) {        m_include = include;    }    /**     *********************************************************************************     *     * Returns the rule's priority that is used for including the rule in reports and analysis.     *     * @return A number between 1 and LOWEST_PRIORITY.     */    public int getPriority() {        if ((m_priority < 0) || (m_priority > LOWEST_PRIORITY)) {            m_priority = LOWEST_PRIORITY;        }        return m_priority;    }    /**     *********************************************************************************     *     * Returns the rule's priority name that is used for including the rule in reports and analysis.     *     * @return A member of PRIORITIES.     */    public String getPriorityName() {        return PRIORITIES[getPriority() - 1];    }    /**     *********************************************************************************     *     * A rule will specify a priority for inclusion in reports and analysis.  The default     * priority is "Low".     *     * @param The rule's priority of 1..LOWEST_PRIORITY.     */    public void setPriority(int priority) {        if ((priority < 1) || (priority > LOWEST_PRIORITY)) {            m_priority = LOWEST_PRIORITY;        } else {            m_priority = priority;        }    }}

⌨️ 快捷键说明

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