## Uses of Interface
net.sourceforge.pmd.Rule

- Packages that use Rule
  Package | Description
  --- | ---
  net.sourceforge.pmd | This is the PMD programming mistake detector.
  net.sourceforge.pmd.benchmark |
  net.sourceforge.pmd.lang.ecmascript |
  net.sourceforge.pmd.lang.ecmascript.rule |
  net.sourceforge.pmd.lang.ecmascript.rule.basic |
  net.sourceforge.pmd.lang.java.ast |
  net.sourceforge.pmd.lang.java.rule |
  net.sourceforge.pmd.lang.java.rule.basic |
  net.sourceforge.pmd.lang.java.rule.codesize |
  net.sourceforge.pmd.lang.java.rule.comments |
  net.sourceforge.pmd.lang.java.rule.controversial |
  net.sourceforge.pmd.lang.java.rule.coupling |
  net.sourceforge.pmd.lang.java.rule.design |
  net.sourceforge.pmd.lang.java.rule.finalizers |
  net.sourceforge.pmd.lang.java.rule.imports |
  net.sourceforge.pmd.lang.java.rule.javabeans |
  net.sourceforge.pmd.lang.java.rule.junit |
  net.sourceforge.pmd.lang.java.rule.logging |
  net.sourceforge.pmd.lang.java.rule.migrating |
  net.sourceforge.pmd.lang.java.rule.naming |
  net.sourceforge.pmd.lang.java.rule.optimizations |
  net.sourceforge.pmd.lang.java.rule.strictexception |
  net.sourceforge.pmd.lang.java.rule.strings |
  net.sourceforge.pmd.lang.java.rule.sunsecure |
  net.sourceforge.pmd.lang.java.rule.unnecessary |
  net.sourceforge.pmd.lang.java.rule.unusedcode |
  net.sourceforge.pmd.lang.java.typeresolution.rules |
  net.sourceforge.pmd.lang.java.typeresolution.rules.imports |
  net.sourceforge.pmd.lang.jsp.rule |
  net.sourceforge.pmd.lang.jsp.rule.basic |
  net.sourceforge.pmd.lang.rule |
  net.sourceforge.pmd.lang.rule.properties |
  net.sourceforge.pmd.lang.rule.stat |
  net.sourceforge.pmd.lang.xml |
  net.sourceforge.pmd.lang.xml.rule |
  net.sourceforge.pmd.util.designer |

- - ### Uses of Rule in net.sourceforge.pmd

    Methods in net.sourceforge.pmd that return Rule
    Modifier and Type | Method and Description
    --- | ---
    `Rule` | RuleViolation.`getRule()` Get the Rule which identified this violation.
    `Rule` | RuleSets.`getRuleByName(String ruleName)` Returns the first Rule found with the given name.
    `Rule` | RuleSet.`getRuleByName(String ruleName)` Returns the first Rule found with the given name (case-sensitive).
    `Rule` | Report.RuleConfigurationError.`rule()`

    Methods in net.sourceforge.pmd that return types with arguments of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `Set<Rule>` | RuleSets.`getAllRules()` Return all rules from all rulesets.
    `Collection<Rule>` | RuleSet.`getRules()` Returns the actual Collection of rules in this ruleset

    Methods in net.sourceforge.pmd with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `void` | RuleSet.`addRule(Rule rule)` Add a new rule to this ruleset.
    `void` | RuleSet.`addRuleByReference(String ruleSetFileName, Rule rule)` Add a new rule by reference to this ruleset.
    `boolean` | RuleSet.`addRuleIfNotExists(Rule rule)` Only adds a rule to the ruleset if no rule with the same name for the same language was added before, so that the existent rule configuration won't be overridden.
    `boolean` | RuleSet.`addRuleReplaceIfExists(Rule rule)` Adds a rule.
    `static boolean` | RuleSet.`applies(Rule rule, LanguageVersion languageVersion)` Does the given Rule apply to the given LanguageVersion?
    `static RuleSet` | RuleSet.`createFor(String name, Rule... theRules)` A convenience constructor
    `String` | PropertyDescriptor.`propertyErrorFor(Rule rule)` A convenience method that returns an error string if the rule holds onto a property value that has a problem.

    Method parameters in net.sourceforge.pmd with type arguments of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `void` | RuleSets.`removeDysfunctionalRules(Collection<Rule> collector)` Remove and collect any rules that report problems.
    `void` | RuleSet.`removeDysfunctionalRules(Collection<Rule> collector)` Remove and collect any misconfigured rules.

    Constructors in net.sourceforge.pmd with parameters of type Rule
    Constructor and Description
    `Report.RuleConfigurationError(Rule theRule, String theIssue)`

  - ### Uses of Rule in net.sourceforge.pmd.benchmark

    Fields in net.sourceforge.pmd.benchmark declared as Rule
    Modifier and Type | Field and Description
    --- | ---
    `Rule` | RuleDuration.`rule`

    Constructors in net.sourceforge.pmd.benchmark with parameters of type Rule
    Constructor and Description
    `RuleDuration(long elapsed, Rule rule)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.ecmascript

    Constructors in net.sourceforge.pmd.lang.ecmascript with parameters of type Rule
    Constructor and Description
    `EcmascriptParserOptions(Rule rule)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.ecmascript.rule

    Classes in net.sourceforge.pmd.lang.ecmascript.rule that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractEcmascriptRule`
    `class` | `EcmascriptXPathRule`

    Methods in net.sourceforge.pmd.lang.ecmascript.rule with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `protected RuleViolation` | EcmascriptRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message)`
    `protected RuleViolation` | EcmascriptRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine)`
    `protected void` | EcmascriptRuleChainVisitor.`visit(Rule rule, Node node, RuleContext ctx)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.ecmascript.rule.basic

    Classes in net.sourceforge.pmd.lang.ecmascript.rule.basic that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ConsistentReturnRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.ast

    Methods in net.sourceforge.pmd.lang.java.ast with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | ASTTypeDeclaration.`hasSuppressWarningsAnnotationFor(Rule rule)`
    `boolean` | ASTLocalVariableDeclaration.`hasSuppressWarningsAnnotationFor(Rule rule)`
    `boolean` | CanSuppressWarnings.`hasSuppressWarningsAnnotationFor(Rule rule)`
    `boolean` | ASTClassOrInterfaceBodyDeclaration.`hasSuppressWarningsAnnotationFor(Rule rule)`
    `boolean` | ASTFormalParameter.`hasSuppressWarningsAnnotationFor(Rule rule)`
    `boolean` | ASTAnnotation.`suppresses(Rule rule)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule

    Classes in net.sourceforge.pmd.lang.java.rule that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractInefficientZeroCheck` This is an abstract rule for patterns which compare a method invocation to 0.
    `class` | `AbstractJavaRule`
    `class` | `AbstractPoorMethodCall` Detects and flags the occurrences of specific method calls against an instance of a designated class.
    `class` | `AbstractStatisticalJavaRule`
    `class` | `GenericLiteralCheckerRule` This class allow to match a Literal (most likely a String) with a regex pattern.
    `class` | `StringConcatenationRule`
    `class` | `SymbolTableTestRule`
    `class` | `UselessAssignment`

    Methods in net.sourceforge.pmd.lang.java.rule with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `protected RuleViolation` | JavaRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message)`
    `protected RuleViolation` | JavaRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine)`
    `protected void` | JavaRuleChainVisitor.`visit(Rule rule, Node node, RuleContext ctx)`

    Constructors in net.sourceforge.pmd.lang.java.rule with parameters of type Rule
    Constructor and Description
    `JavaRuleViolation(Rule rule, RuleContext ctx, JavaNode node, String message)`
    `JavaRuleViolation(Rule rule, RuleContext ctx, JavaNode node, String message, int beginLine, int endLine)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.basic

    Classes in net.sourceforge.pmd.lang.java.rule.basic that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AvoidBranchingStatementAsLastInLoopRule`
    `class` | `AvoidMultipleUnaryOperatorsRule`
    `class` | `AvoidUsingHardCodedIPRule`
    `class` | `AvoidUsingOctalValuesRule`
    `class` | `BigIntegerInstantiationRule`
    `class` | `BooleanInstantiationRule` Avoid instantiating Boolean objects; you can reference Boolean.TRUE, Boolean.FALSE, or call Boolean.valueOf() instead.
    `class` | `BrokenNullCheckRule`
    `class` | `CheckResultSetRule` Rule that verifies, that the return values of next(), first(), last(), etc.
    `class` | `CheckSkipResultRule`
    `class` | `DoubleCheckedLockingRule` void method() { if(x == null) { synchronized(this){ if(x == null) { x = new | method(); } } } 1.
    `class` | `OverrideBothEqualsAndHashcodeRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.codesize

    Classes in net.sourceforge.pmd.lang.java.rule.codesize that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractNcssCountRule` Abstract superclass for NCSS counting methods.
    `class` | `CyclomaticComplexityRule`
    `class` | `ExcessiveClassLengthRule` This rule detects when a class exceeds a certain threshold.
    `class` | `ExcessiveMethodLengthRule` This rule detects when a method exceeds a certain threshold.
    `class` | `ExcessiveParameterListRule` This rule detects an abnormally long parameter list.
    `class` | `ExcessivePublicCountRule`
    `class` | `NcssConstructorCountRule` Non-commented source statement counter for constructors.
    `class` | `NcssMethodCountRule` Non-commented source statement counter for methods.
    `class` | `NcssTypeCountRule` Non-commented source statement counter for type declarations.
    `class` | `NPathComplexityRule` NPath complexity is a measurement of the acyclic execution paths through a function.
    `class` | `TooManyFieldsRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.comments

    Classes in net.sourceforge.pmd.lang.java.rule.comments that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCommentRule`
    `class` | `CodeInCommentsRule`
    `class` | `CommentContentRule` A rule that checks for illegal words in the comment text.
    `class` | `CommentRequiredRule`
    `class` | `CommentSizeRule` A rule to manage those who just can't shut up...
    `class` | `HeaderCommentsRule` Restrictions regarding the legal placement and content of the file header.
    `class` | `JavadocRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.controversial

    Classes in net.sourceforge.pmd.lang.java.rule.controversial that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AssignmentInOperandRule`
    `class` | `DataflowAnomalyAnalysisRule` Starts path search for each method and runs code if found.
    `class` | `DontImportSunRule`
    `class` | `NullAssignmentRule`
    `class` | `OnlyOneReturnRule`
    `class` | `SuspiciousOctalEscapeRule`

    Constructors in net.sourceforge.pmd.lang.java.rule.controversial with parameters of type Rule
    Constructor and Description
    `DaaRuleViolation(Rule rule, RuleContext ctx, Node node, String type, String msg, String var, int beginLine, int endLine)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.coupling

    Classes in net.sourceforge.pmd.lang.java.rule.coupling that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CouplingBetweenObjectsRule` CouplingBetweenObjects attempts to capture all unique Class attributes, local variables, and return types to determine how many objects a class is coupled to.
    `class` | `ExcessiveImportsRule` ExcessiveImports attempts to count all unique imports a class contains.
    `class` | `LawOfDemeterRule` This rule can detect possible violations of the Law of Demeter.
    `class` | `LooseCouplingRule`
    `class` | `LoosePackageCouplingRule` The loose package coupling Rule can be used to ensure coupling outside of a package hierarchy is minimized to all but an allowed set of classes from within the package hierarchy.

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.design

    Classes in net.sourceforge.pmd.lang.java.rule.design that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AccessorClassGenerationRule` 1.
    `class` | `AssignmentToNonFinalStaticRule`
    `class` | `AvoidDeeplyNestedIfStmtsRule`
    `class` | `AvoidReassigningParametersRule`
    `class` | `CloseResourceRule` Makes sure you close your database connections.
    `class` | `CompareObjectsWithEqualsRule`
    `class` | `ConfusingTernaryRule` if (x !
    `class` | `ConstructorCallsOverridableMethodRule` Searches through all methods and constructors called from constructors.
    `class` | `ExcessiveLengthRule` This is a common super class for things which have excessive length.
    `class` | `ExcessiveNodeCountRule` This is a common super class for things which shouldn't have excessive nodes underneath.
    `class` | `GenericClassCounterRule` A generic rule that can be configured to "count" classes of certain type based on either their name (full name, prefix, suffixes anything can be matched with a regex), and/or their type.
    `class` | `GodClassRule` The God Class Rule detects a the God Class design flaw using metrics.
    `class` | `IdempotentOperationsRule`
    `class` | `ImmutableFieldRule`
    `class` | `NonThreadSafeSingletonRule`
    `class` | `PositionalIteratorRule`
    `class` | `PreserveStackTraceRule`
    `class` | `SimplifyBooleanReturnsRule`
    `class` | `SingularFieldRule`
    `class` | `SwitchDensityRule`
    `class` | `UnnecessaryLocalBeforeReturnRule`
    `class` | `UnsynchronizedStaticDateFormatterRule` Using a DateFormatter (SimpleDateFormatter) which is static can cause unexpected results when used in a multi-threaded environment.
    `class` | `UseCollectionIsEmptyRule` Detect structures like "foo.size() == 0" and suggest replacing them with foo.isEmpty().
    `class` | `UseSingletonRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.finalizers

    Classes in net.sourceforge.pmd.lang.java.rule.finalizers that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AvoidCallingFinalizeRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.imports

    Classes in net.sourceforge.pmd.lang.java.rule.imports that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DontImportJavaLangRule`
    `class` | `DuplicateImportsRule`
    `class` | `ImportFromSamePackageRule`
    `class` | `UnnecessaryFullyQualifiedNameRule`
    `class` | `UnusedImportsRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.javabeans

    Classes in net.sourceforge.pmd.lang.java.rule.javabeans that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BeanMembersShouldSerializeRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.junit

    Classes in net.sourceforge.pmd.lang.java.rule.junit that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractJUnitRule`
    `class` | `JUnitAssertionsShouldIncludeMessageRule`
    `class` | `JUnitTestsShouldIncludeAssertRule`
    `class` | `TestClassWithoutTestCasesRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.logging

    Classes in net.sourceforge.pmd.lang.java.rule.logging that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MoreThanOneLoggerRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.migrating

    Classes in net.sourceforge.pmd.lang.java.rule.migrating that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JUnitUseExpectedRule` This rule finds code like this: public void testFoo() { try { doSomething(); fail("should have thrown an exception"); } catch (Exception e) { } } In JUnit 4, use @Test(expected = Exception.class)
    `class` | `UnnecessaryCastRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.naming

    Classes in net.sourceforge.pmd.lang.java.rule.naming that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AvoidDollarSignsRule`
    `class` | `AvoidFieldNameMatchingMethodNameRule`
    `class` | `AvoidFieldNameMatchingTypeNameRule`
    `class` | `ClassNamingConventionsRule`
    `class` | `MethodNamingConventionsRule`
    `class` | `MethodWithSameNameAsEnclosingClassRule`
    `class` | `SuspiciousHashcodeMethodNameRule`
    `class` | `VariableNamingConventionsRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.optimizations

    Classes in net.sourceforge.pmd.lang.java.rule.optimizations that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractOptimizationRule` Base class with utility methods for optimization rules
    `class` | `AvoidInstantiatingObjectsInLoopsRule`
    `class` | `LocalVariableCouldBeFinalRule`
    `class` | `MethodArgumentCouldBeFinalRule`
    `class` | `PrematureDeclarationRule` Checks for variables in methods that are defined before they are really needed.
    `class` | `RedundantFieldInitializerRule` Detects redundant field initializers, i.e. the field initializer expressions the JVM would assign by default.
    `class` | `UnnecessaryWrapperObjectCreationRule`
    `class` | `UseStringBufferForStringAppendsRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.strictexception

    Classes in net.sourceforge.pmd.lang.java.rule.strictexception that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AvoidCatchingThrowableRule` Finds `catch` statements containing `throwable` as the type definition.
    `class` | `ExceptionAsFlowControlRule` Catches the use of exception statements as a flow control device.
    `class` | `SignatureDeclareThrowsExceptionRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.strings

    Classes in net.sourceforge.pmd.lang.java.rule.strings that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AppendCharacterWithCharRule` This rule finds the following: StringBuffer.append("c"); // appends a single character It is preferable to use StringBuffer.append('c'); // appends a single character Implementation of PMD RFE 1373863
    `class` | `AvoidDuplicateLiteralsRule`
    `class` | `ConsecutiveLiteralAppendsRule` This rule finds concurrent calls to StringBuffer/Builder.append where String literals are used It would be much better to make these calls using one call to .append example: StringBuilder buf = new StringBuilder(); buf.append("Hello"); buf.append(" ").append("World"); This would be more eloquently put as: StringBuilder buf = new StringBuilder(); buf.append("Hello World"); The rule takes one parameter, threshold, which defines the lower limit of consecutive appends before a violation is created.
    `class` | `InefficientEmptyStringCheckRule` This rule finds code which inefficiently determines empty strings.
    `class` | `InefficientStringBufferingRule` How this rule works: find additive expressions: + check that the addition is between anything other than two literals if true and also the parent is StringBuffer constructor or append, report a violation.
    `class` | `InsufficientStringBufferDeclarationRule` This rule finds StringBuffers which may have been pre-sized incorrectly See http://sourceforge.net/forum/forum.php?
    `class` | `StringInstantiationRule`
    `class` | `StringToStringRule`
    `class` | `UnnecessaryCaseChangeRule`
    `class` | `UseIndexOfCharRule`
    `class` | `UselessStringValueOfRule`
    `class` | `UseStringBufferLengthRule` This rule finds places where StringBuffer.toString() is called just to see if the string is 0 length by either using .equals("") or toString().length() StringBuffer sb = new StringBuffer("some string"); if (sb.toString().equals("")) { // this is wrong } if (sb.length() == 0) { // this is right }

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.sunsecure

    Classes in net.sourceforge.pmd.lang.java.rule.sunsecure that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractSunSecureRule` Utility methods for the package
    `class` | `ArrayIsStoredDirectlyRule`
    `class` | `MethodReturnsInternalArrayRule` Implementation note: this rule currently ignores return types of y.x.z, currently it handles only local type fields.

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.unnecessary

    Classes in net.sourceforge.pmd.lang.java.rule.unnecessary that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UnnecessaryConversionTemporaryRule`
    `class` | `UnnecessaryReturnRule`
    `class` | `UselessOperationOnImmutableRule` An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself.
    `class` | `UselessOverridingMethodRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.rule.unusedcode

    Classes in net.sourceforge.pmd.lang.java.rule.unusedcode that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UnusedFormalParameterRule`
    `class` | `UnusedLocalVariableRule`
    `class` | `UnusedModifierRule`
    `class` | `UnusedPrivateFieldRule`
    `class` | `UnusedPrivateMethodRule`

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.typeresolution.rules

    Classes in net.sourceforge.pmd.lang.java.typeresolution.rules that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CloneMethodMustImplementCloneable` The method clone() should only be implemented if the class implements the Cloneable interface with the exception of a final method that only throws CloneNotSupportedException.
    `class` | `LooseCoupling` This is a separate rule, uses the type resolution facade
    `class` | `SignatureDeclareThrowsException` A method/constructor shouldn't explicitly throw java.lang.Exception, since it is unclear which exceptions that can be thrown from the methods.

  - ### Uses of Rule in net.sourceforge.pmd.lang.java.typeresolution.rules.imports

    Classes in net.sourceforge.pmd.lang.java.typeresolution.rules.imports that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UnusedImports`

  - ### Uses of Rule in net.sourceforge.pmd.lang.jsp.rule

    Classes in net.sourceforge.pmd.lang.jsp.rule that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractJspRule`

    Methods in net.sourceforge.pmd.lang.jsp.rule with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `protected RuleViolation` | JspRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message)`
    `protected RuleViolation` | JspRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine)`
    `protected void` | JspRuleChainVisitor.`visit(Rule rule, Node node, RuleContext ctx)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.jsp.rule.basic

    Classes in net.sourceforge.pmd.lang.jsp.rule.basic that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DuplicateJspImportsRule`
    `class` | `NoInlineStyleInformationRule` This rule checks that no "style" elements (like , , ...) are used, and that no "style" attributes (like "font", "size", "align") are used.

  - ### Uses of Rule in net.sourceforge.pmd.lang.rule

    Classes in net.sourceforge.pmd.lang.rule that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractDelegateRule` Base class for Rule implementations which delegate to another Rule instance.
    `class` | `AbstractRule` Basic abstract implementation of all parser-independent methods of the Rule interface.
    `class` | `MockRule` This is a Rule implementation which can be used in scenarios where an actual functional Rule is not needed.
    `class` | `RuleReference` This class represents a Rule which is a reference to Rule defined in another RuleSet.
    `class` | `XPathRule` Rule that tries to match an XPath expression against a DOM view of an AST.

    Fields in net.sourceforge.pmd.lang.rule declared as Rule
    Modifier and Type | Field and Description
    --- | ---
    `protected Rule` | ParametricRuleViolation.`rule`

    Fields in net.sourceforge.pmd.lang.rule with type parameters of type Rule
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<RuleSet,List<Rule>>` | AbstractRuleChainVisitor.`ruleSetRules` These are all the rules participating in the RuleChain, grouped by RuleSet.

    Methods in net.sourceforge.pmd.lang.rule that return Rule
    Modifier and Type | Method and Description
    --- | ---
    `Rule` | AbstractDelegateRule.`getRule()`
    `Rule` | ParametricRuleViolation.`getRule()`

    Methods in net.sourceforge.pmd.lang.rule with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `void` | RuleChainVisitor.`add(RuleSet ruleSet, Rule rule)` Add the given rule to the visitor.
    `void` | AbstractRuleChainVisitor.`add(RuleSet ruleSet, Rule rule)`
    `void` | RuleViolationFactory.`addViolation(RuleContext ruleContext, Rule rule, Node node, String message, int beginLine, int endLine, Object[] args)`
    `void` | AbstractRuleViolationFactory.`addViolation(RuleContext ruleContext, Rule rule, Node node, String message, int beginLine, int endLine, Object[] args)`
    `void` | RuleViolationFactory.`addViolation(RuleContext ruleContext, Rule rule, Node node, String message, Object[] args)` Adds a violation to the report.
    `void` | AbstractRuleViolationFactory.`addViolation(RuleContext ruleContext, Rule rule, Node node, String message, Object[] args)`
    `protected abstract RuleViolation` | AbstractRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message)`
    `protected abstract RuleViolation` | AbstractRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine)`
    `void` | AbstractDelegateRule.`setRule(Rule rule)`
    `protected abstract void` | AbstractRuleChainVisitor.`visit(Rule rule, Node node, RuleContext ctx)` Visit the given rule to the given node.

    Constructors in net.sourceforge.pmd.lang.rule with parameters of type Rule
    Constructor and Description
    `ParametricRuleViolation(Rule theRule, RuleContext ctx, T node, String message)`
    `RuleReference(Rule theRule, RuleSetReference theRuleSetReference)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.rule.properties

    Methods in net.sourceforge.pmd.lang.rule.properties with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `String` | PropertyDescriptorWrapper.`propertyErrorFor(Rule rule)`
    `String` | AbstractProperty.`propertyErrorFor(Rule rule)` A convenience method that returns an error string if the rule holds onto a property value that has a problem.

  - ### Uses of Rule in net.sourceforge.pmd.lang.rule.stat

    Subinterfaces of Rule in net.sourceforge.pmd.lang.rule.stat
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `StatisticalRule` This interface tags a Rule as being a Statistical rule, producing various metrics from data points.

  - ### Uses of Rule in net.sourceforge.pmd.lang.xml

    Constructors in net.sourceforge.pmd.lang.xml with parameters of type Rule
    Constructor and Description
    `XmlParserOptions(Rule rule)`

  - ### Uses of Rule in net.sourceforge.pmd.lang.xml.rule

    Classes in net.sourceforge.pmd.lang.xml.rule that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractDomXmlRule` This is a base class for XML Java bases rules that which to visit the nodes using the DOM.
    `class` | `AbstractXmlRule` This is a base class for XML Java bases rules.
    `class` | `XmlXPathRule`

    Methods in net.sourceforge.pmd.lang.xml.rule with parameters of type Rule
    Modifier and Type | Method and Description
    --- | ---
    `protected RuleViolation` | XmlRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message)`
    `protected RuleViolation` | XmlRuleViolationFactory.`createRuleViolation(Rule rule, RuleContext ruleContext, Node node, String message, int beginLine, int endLine)`
    `protected void` | XmlRuleChainVisitor.`visit(Rule rule, Node node, RuleContext ctx)`

  - ### Uses of Rule in net.sourceforge.pmd.util.designer

    Classes in net.sourceforge.pmd.util.designer that implement Rule
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DFAGraphRule`

Copyright © 2002-2013 InfoEther. All Rights Reserved.