View Javadoc

    1   /***
    2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
    3    */
    4   package net.sourceforge.pmd;
    5
    6   import java.util.List;
    7   import java.util.Properties;
    8
    9   public interface Rule {
    10
    11      public static final int LOWEST_PRIORITY = 5;
    12      public static final String[] PRIORITIES = {"High", "Medium High", "Medium", "Medium Low", "Low"};
    13
    14      String getName();
    15
    16      String getMessage();
    17
    18      String getDescription();
    19
    20      String getExample();
    21
    22      String getExternalInfoUrl();
    23
    24      void setName(String name);
    25
    26      String getRuleSetName();
    27
    28      void setRuleSetName(String name);
    29
    30      void setMessage(String message);
    31
    32      void setDescription(String description);
    33
    34      void setExample(String example);
    35
    36      void setExternalInfoUrl(String url);
    37
    38      void apply(List astCompilationUnits, RuleContext ctx);
    39
    40      boolean hasProperty(String name);
    41
    42      void addProperty(String name, String property);
    43
    44      void addProperties(Properties properties);
    45
    46      int getIntProperty(String name);
    47
    48      boolean getBooleanProperty(String name);
    49
    50      String getStringProperty(String name);
    51
    52      double getDoubleProperty(String name);
    53
    54      Properties getProperties();
    55
    56      boolean include();
    57
    58      void setInclude(boolean include);
    59
    60      int getPriority();
    61
    62      String getPriorityName();
    63
    64      void setPriority(int priority);
    65
    66      void setUsesDFA();
    67
    68      boolean usesDFA();
    69
    70      PropertyDescriptor propertyDescriptorFor(String name);
    71
    72  	void setUsesTypeResolution();
    73
    74  	boolean usesTypeResolution();
    75  }