| Class Summary | |
|---|---|
| AbstractCompoundFilter<T> | A base class for Filters which implements behavior using a List of other Filters. |
| AbstractDelegateFilter<T> | A base class for Filters which implements behavior using delegation to an underlying filter. |
| AbstractDelegateRule | Base class for Rule implementations which delegate to another Rule instance. |
| AbstractInefficientZeroCheck | This is an abstract rule for patterns which compare a method invocation to 0. |
| AbstractJavaRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AbstractJspRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AbstractLanguage | |
| AbstractNameDeclaration | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AbstractNcssCount | Abstract superclass for NCSS counting methods. |
| AbstractOptimizationRule | Base class with utility methods for optimization rules |
| AbstractPMDProperty | |
| AbstractPoorMethodCall | Detects and flags the occurrences of specific method calls against an instance of a designated class. |
| AbstractRenderer | |
| AbstractReportNode | |
| AbstractRule | |
| AbstractRuleChainVisitor | This is a base class for RuleChainVisitor implementations which extracts interesting nodes from an AST, and lets each Rule visit the nodes it has expressed interest in. |
| AbstractScalarProperty | No, subclasses are not necessarily scalar per se, they're just easy to parse without error. |
| AbstractScope | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AbstractSunSecureRule | Utility methods for the package |
| AbstractTokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AccessNodeInterface | This interface captures Java access modifiers. |
| AccessorClassGeneration | 1. |
| ActionCommands | contains action command constants |
| AndFilter<T> | A logical AND of a list of Filters. |
| AntLogHandler | AntLogHandler sends log messages to an Ant Task, so the regular Ant logging is used. |
| AnyLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AnyTokenizer | This class does a best-guess try-anything tokenization. |
| AppendCharacterWithChar |
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 |
| Applier | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ArrayIsStoredDirectly | |
| AssignmentInOperand | |
| AssignmentToNonFinalStatic | |
| ASTAdditiveExpression | |
| ASTAllocationExpression | |
| ASTAndExpression | |
| ASTAnnotation | |
| ASTAnnotationMethodDeclaration | |
| ASTAnnotationTypeBody | |
| ASTAnnotationTypeDeclaration | |
| ASTAnnotationTypeMemberDeclaration | |
| ASTArgumentList | |
| ASTArguments | |
| ASTArrayDimsAndInits | |
| ASTArrayInitializer | |
| ASTAssertStatement | |
| ASTAssignmentOperator | |
| ASTAttribute | |
| ASTAttributeValue | |
| ASTBlock | |
| ASTBlockStatement | |
| ASTBooleanLiteral | |
| ASTBreakStatement | |
| ASTCastExpression | |
| ASTCatchStatement | |
| ASTCData | |
| ASTClassOrInterfaceBody | |
| ASTClassOrInterfaceBodyDeclaration | |
| ASTClassOrInterfaceDeclaration | |
| ASTClassOrInterfaceType | |
| ASTCommentTag | |
| ASTCompilationUnit | |
| ASTCompilationUnit | |
| ASTConditionalAndExpression | |
| ASTConditionalExpression | |
| ASTConditionalOrExpression | |
| ASTConstructorDeclaration | |
| ASTContent | |
| ASTContinueStatement | |
| ASTDeclaration | |
| ASTDefaultValue | |
| ASTDoctypeDeclaration | |
| ASTDoctypeExternalId | |
| ASTDoStatement | |
| ASTElement | |
| ASTElExpression | |
| ASTEmptyStatement | |
| ASTEnumBody | |
| ASTEnumConstant | |
| ASTEnumDeclaration | |
| ASTEqualityExpression | |
| ASTExclusiveOrExpression | |
| ASTExplicitConstructorInvocation | |
| ASTExpression | |
| ASTExtendsList | |
| ASTFieldDeclaration | |
| ASTFinallyStatement | |
| ASTForInit | |
| ASTFormalParameter | |
| ASTFormalParameters | |
| ASTForStatement | |
| ASTForUpdate | |
| ASTIfStatement | |
| ASTImplementsList | |
| ASTImportDeclaration | |
| ASTInclusiveOrExpression | |
| ASTInitializer | |
| ASTInstanceOfExpression | |
| ASTJspComment | |
| ASTJspDeclaration | |
| ASTJspDeclarations | |
| ASTJspDirective | |
| ASTJspDirectiveAttribute | |
| ASTJspDocument | |
| ASTJspExpression | |
| ASTJspExpressionInAttribute | |
| ASTJspScriptlet | |
| ASTLabeledStatement | |
| ASTLiteral | |
| ASTLocalVariableDeclaration | |
| ASTMarkerAnnotation | |
| ASTMemberSelector | |
| ASTMemberValue | |
| ASTMemberValueArrayInitializer | |
| ASTMemberValuePair | |
| ASTMemberValuePairs | |
| ASTMethodDeclaration | |
| ASTMethodDeclarator | |
| ASTModel | Model for the AST Panel Tree component |
| ASTMultiplicativeExpression | |
| ASTName | |
| ASTNameList | |
| ASTNodePopupMenu | context sensetive menu for the AST Panel |
| ASTNormalAnnotation | |
| ASTNullLiteral | |
| ASTPackageDeclaration | |
| ASTPanel | tree panel GUI |
| ASTPostfixExpression | |
| ASTPreDecrementExpression | |
| ASTPreIncrementExpression | |
| ASTPrimaryExpression | |
| ASTPrimaryPrefix | |
| ASTPrimarySuffix | |
| ASTPrimitiveType | |
| ASTReferenceType | |
| ASTRelationalExpression | |
| ASTResultType | |
| ASTReturnStatement | |
| ASTRSIGNEDSHIFT | |
| ASTRUNSIGNEDSHIFT | |
| ASTShiftExpression | |
| ASTSingleMemberAnnotation | |
| ASTStatement | |
| ASTStatementExpression | |
| ASTStatementExpressionList | |
| ASTSwitchLabel | |
| ASTSwitchStatement | |
| ASTSynchronizedStatement | |
| ASTText | |
| ASTThrowStatement | |
| ASTTryStatement | |
| ASTType | |
| ASTTypeArgument | |
| ASTTypeArguments | |
| ASTTypeBound | |
| ASTTypeDeclaration | |
| ASTTypeParameter | |
| ASTTypeParameters | |
| ASTUnaryExpression | |
| ASTUnaryExpressionNotPlusMinus | |
| ASTUnparsedText | |
| ASTValueBinding | |
| ASTVariableDeclarator | |
| ASTVariableDeclaratorId | |
| ASTVariableInitializer | |
| ASTWhileStatement | |
| ASTWildcardBounds | |
| Attribute | |
| AttributeAxisIterator | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AttributesSubMenu | contains menu items for the predicate creation |
| AttributeToolkit | A toolkit for vaious attribute translations |
| AvoidCallingFinalize | |
| AvoidCatchingThrowable |
Finds catch statements
containing throwable as the type definition.
|
| AvoidDeeplyNestedIfStmtsRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidDollarSigns | |
| AvoidDuplicateLiteralsRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidDuplicateLiteralsRule.ExceptionParser | |
| AvoidFieldNameMatchingMethodName | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidFieldNameMatchingTypeName | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidInstantiatingObjectsInLoops | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidMultipleUnaryOperators | |
| AvoidNonConstructorMethodsWithClassName | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidReassigningParameters | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| AvoidUsingHardCodedIP | |
| AvoidUsingOctalValues | |
| BeanMembersShouldSerializeRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Benchmark | |
| BigIntegerInstantiation | |
| BooleanInstantiation | Avoid instantiating Boolean objects; you can reference Boolean.TRUE, Boolean.FALSE, or call Boolean.valueOf() instead. |
| BooleanProperty | Defines a property type that supports Boolean values. |
| BrokenNullCheck | |
| CanSuppressWarnings | |
| CharacterProperty | Defines a property type that supports Character values. |
| CharStream | This interface describes a character stream that maintains line and column number positions of the characters. |
| CharStream | This interface describes a character stream that maintains line and column number positions of the characters. |
| ClassLoaderUtil | ClassLoader utilities. |
| ClassNameDeclaration | |
| ClassNamingConventions | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ClassNode | Represents a Class in a UsageGraph. |
| ClassNode | |
| ClassNodeComparator | Compares ClassNodes by the name of the class. |
| ClasspathClassLoader | Create a ClassLoader which loads classes using a CLASSPATH like String. |
| ClassScope | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ClassTypeResolver | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ClassUtil | Various class-related utility methods |
| 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. |
| CloseResource | Makes sure you close your database connections. |
| CodeEditorTextPane | |
| CollectionUtil | Generic collection and array-related utility functions. |
| CommandLineOptions | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Comment | |
| CommonAbstractRule | Basic abstract implementation of all parser-independent methods of the Rule interface. |
| CompareObjectsWithEquals | |
| CompilationUnit | Marker interface for root nodes of the AST of compilation units in source files. |
| ConfusingTernary | if (x ! |
| ConsecutiveLiteralAppends |
This rule finds concurrent calls to StringBuffer.append where String literals
are used It would be much better to make these calls using one call to
.append
example:
StringBuffer buf = new StringBuffer();
buf.append("Hello");
buf.append(" ").append("World");
This would be more eloquently put as:
StringBuffer buf = new StringBuffer();
buf.append("Hello World");
The rule takes one parameter, threshold, which defines the lower limit of
consecutive appends before a violation is created. |
| ConsoleLogHandler | Log to the console using a basic formatter. |
| ConstructorCallsOverridableMethod | Searches through all methods and constructors called from constructors. |
| ConstructorNode | Represents a Class Constructor in a UsageGraph. |
| CouplingBetweenObjects | CouplingBetweenObjects attempts to capture all unique Class attributes, local variables, and return types to determine how many objects a class is coupled to. |
| CPD | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CPDListener | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CPDNullListener | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CPDTask | CPDTask Runs the CPD utility via ant. |
| CPDTask.FormatAttribute | |
| CPDTask.LanguageAttribute | |
| CPPLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CPPParserConstants | Token literal values and constants. |
| CPPParserTokenManager | Token Manager. |
| CPPTokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CreateXMLRulePanel | This class is responsible for creating the contentpanel for the Create Rule XML Frame. |
| CSVRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CSVRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| CurrentPath | |
| CyclomaticComplexity | |
| DAAPathFinder | |
| DaaRule | Starts path search for each method and runs code if found. |
| DaaRuleViolation | The RuleViolation is extended by the VariableName. |
| DataFlowFacade | |
| DataFlowNode | |
| DataPoint | |
| DataSource | Represents a source file to be analyzed. |
| DCD | The Dead Code Detector is used to find dead code. |
| Designer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| DFAGraphRule | |
| DFAPanel | |
| DFAPanel.DFACanvas | |
| Dimensionable | |
| DirectoryFilter | Directory filter. |
| DocumentNavigator | |
| DontImportJavaLang | |
| DontImportSun | |
| DoubleCheckedLocking | void method() { if(x == null) { synchronized(this){ if(x == null) { x = new | method(); } } } 1. |
| DoubleProperty | Defines a property type that support double property values. |
| DummyScope | Implementation of Scope for source types that are simpler than java sources. |
| DumpNodeVisitor | Dump a UsageGraph to System.out. |
| DuplicateImportsRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| DuplicateJspImports | |
| EmacsRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| EnumeratedProperty<E> | Defines a datatype with a set of preset values of any type as held within a pair of maps. |
| EvaluationResultsPanel | A panel showing XPath expression evaluation results |
| ExceptionAsFlowControl | Catches the use of exception statements as a flow control device. |
| ExceptionSignatureDeclaration | |
| ExcessiveImports | ExcessiveImports attempts to count all unique imports a class contains. |
| ExcessiveLengthRule | This is a common super class for things which have excessive length. |
| ExcessiveNodeCountRule | This is a common super class for things which shouldn't have excessive nodes underneath. |
| ExcessivePublicCount | |
| Executable | |
| ExternalRuleID | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| FieldNode | Represents a Class Field in a UsageGraph. |
| FileDataSource | DataSource implementation to read data from a file. |
| FileExtensionFilter | |
| FileFinder | |
| FileFinder | A utility class for finding files within a directory. |
| FileReporter | |
| Filter<T> | A Filter interface, used for filtering arbitrary objects. |
| Filters | Utility class for working with Filters. |
| Fix | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| FloatProperty | Defines a property type that support float property values. |
| FormalComment | |
| Formatter | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| FortranLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| FortranTokenizer | |
| 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. Example of configurations: |
| GenericLiteralCheckerRule | This class allow to match a Literal (most likely a String) with a regex pattern. |
| GridBagHelper | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| GUI | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| HTMLRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| IdempotentOperations | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| IDataFlowNode | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| IDEAJRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ImageFinderFunction | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ImmutableField | |
| ImportFromSamePackageRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ImportWrapper | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| InefficientEmptyStringCheck | This rule finds code which inefficiently determines empty strings. |
| InefficientStringBuffering | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| InsufficientStringBufferDeclaration | This rule finds StringBuffers which may have been pre-sized incorrectly See http://sourceforge.net/forum/forum.php? |
| IntegerProperty | Defines a datatype that supports the Integer property values. |
| IRuleViolation | |
| Java13Handler | |
| Java13Parser | Adapter for the JavaParser, using Java 1.3 grammar. |
| Java14Handler | |
| Java14Parser | Adapter for the JavaParser, using Java 1.4 grammar. |
| Java15Handler | |
| Java15Parser | Adapter for the JavaParser, using Java 1.5 grammar. |
| Java16Handler | |
| Java16Parser | Adapter for the JavaParser, using Java 1.6 grammar. |
| Java17Handler | |
| Java17Parser | Adapter for the JavaParser, using Java 1.7 grammar. |
| JavaCharStream | An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (with java-like unicode escape processing). |
| JavaLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| JavaNode | |
| JavaParser | |
| JavaParserConstants | Token literal values and constants. |
| JavaParserTokenManager | Token Manager. |
| JavaParserTreeConstants | |
| JavaParserVisitor | |
| JavaParserVisitorAdapter | |
| JavaRuleChainVisitor | |
| JavaTokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| JavaTypeHandler | Implementation of VisitorsFactory for the Java AST. |
| JJTJavaParserState | |
| JJTJspParserState | |
| JspCharStream | |
| JspParser | JSP Parser for PMD. |
| JspParser | |
| JspParserConstants | Token literal values and constants. |
| JspParserTokenManager | Token Manager. |
| JspParserTreeConstants | |
| JspParserVisitor | |
| JspParserVisitorAdapter | |
| JspRuleChainVisitor | |
| JspScopeAndDeclarationFinder | Setting the scope in the root of a JSP AST. |
| JspSymbolFacade | Symbol Facade for JSP. |
| JspTypeHandler | Implementation of SourceTypeHandler for the JSP parser. |
| JSPLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| JSPTokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| JUnitAssertionsShouldIncludeMessage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| JUnitTestsShouldContainAsserts | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| JUnitUseExpected |
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) |
| Language | Enumeration of languages for which a rule can be written. |
| Language | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| LanguageFactory | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| LineGetter | |
| Linker | |
| LinkerException | |
| LocalScope | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| LocalVariableCouldBeFinal | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| LongClassRule | This rule detects when a class exceeds a certain threshold. i.e. if a class has more than 1000 lines of code. |
| LongMethodRule | This rule detects when a method exceeds a certain threshold. i.e. if a method has more than x lines of code. |
| LongParameterListRule | This rule detects an abnormally long parameter list. |
| LooseCoupling | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| LooseCoupling | This is a separate rule, uses the type resolution facade |
| MainFrame | viewer's main frame |
| Match | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MatchAlgorithm | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MatchCollector | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MatchesFunction | |
| Match.MatchCode | |
| MemberNode<S,T> | Represents a Class Member in a UsageGraph. |
| MemberNodeComparator | Compares MemberNodes. |
| MethodArgumentCouldBeFinal | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MethodNameDeclaration | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MethodNamingConventions | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MethodNode | Represents a Class Method in a UsageGraph. |
| MethodProperty | |
| MethodReturnsInternalArray | Implementation note: this rule currently ignores return types of y.x.z, currently it handles only local type fields. |
| MethodScope | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| MethodWithSameNameAsEnclosingClass | |
| Metric | |
| MockRule | This is a Rule implementation which can be used in scenarios where an actual functional Rule is not needed. |
| MoreThanOneLogger | |
| MultiLineComment | |
| MyPrintStream | |
| NameDeclaration | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| NameFinder | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| NameOccurrence | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| NcssConstructorCount | Non-commented source statement counter for constructors. |
| NcssMethodCount | Non-commented source statement counter for methods. |
| NcssTypeCount | Non-commented source statement counter for type declarations. |
| NLS | helps with internationalization |
| Node | |
| Node | |
| NodeIterator | |
| NodeType | |
| NodeVisitor | Visitor for nodes in a UsageGraph. |
| NodeVisitorAcceptor | Interface for how a node should accept a NodeVisitor. |
| NodeVisitorAdapter | Adapter class for easy implementation of a NodeVisitor. |
| NoInlineStyleInformation | This rule checks that no "style" elements (like , , ...) are used, and that no "style" attributes (like "font", "size", "align") are used. |
| NonThreadSafeSingleton | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| NotFilter<T> | A logical NEGATION of a Filter. |
| NpathComplexity | NPath complexity is a measurement of the acyclic execution paths through a function. |
| NullAssignmentRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| NumericConstants | |
| OccurrenceFinder | |
| OnlyOneReturnRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| OnTheFlyRenderer | |
| OrFilter<T> | A logical OR of a list of Filters. |
| OverrideBothEqualsAndHashcode | |
| PackageNode | |
| PapariTextRenderer |
A console renderer with optional color support under *nix systems.
* file: ./src/gilot/Test.java
src: Test.java:12
rule: AtLeastOneConstructor
msg: Each class should declare at least one constructor
code: public class Test
* file: ./src/gilot/log/format/LogInterpreter.java
src: LogInterpreter.java:317
rule: AvoidDuplicateLiterals
msg: The same String literal appears 4 times in this file; the first occurrence is on line 317
code: logger.error( "missing attribute 'app_arg' in rule '" + ((Element)element.getParent()).getAttributeValue( "name" ) + "'" );
src: LogInterpreter.java:317
rule: AvoidDuplicateLiterals
msg: The same String literal appears 5 times in this file; the first occurrence is on line 317
code: logger.error( "missing attribute 'app_arg' in rule '" + ((Element)element.getParent()).getAttributeValue( "name" ) + "'" );
* warnings: 3
Colorization is turned on by supplying -Dpmd.color - any value other than '0' or 'false', enables color - including an empty value (''). |
| ParseException | This exception is thrown when parse errors are encountered. |
| ParseException | This exception is thrown when parse errors are encountered. |
| ParseException | This exception is thrown when parse errors are encountered. |
| ParseExceptionHandler | handles parsing exceptions |
| Parser | Common interface for calling tree-building parsers or source files. |
| PathElement | |
| PHPLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PHPTokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PmdLogFormatter | |
| PMD | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PMDASMClassLoader | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PMDASMVisitor | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PMDException | A convenience exception wrapper. |
| PMDTask | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PositionalIteratorRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PreserveStackTrace | |
| PrintVisitor | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| PropertyDescriptor | Property value descriptor that defines the use & requirements for setting property values for use within PMD and any associated GUIs. |
| RegexHelper | A simple helper class to regroup a bunch of method generally used by rules using regex. |
| RegexStringFilter | A filter to which uses a regular expression to match upon Strings. |
| Renderer | |
| Renderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Report | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ReportException | |
| ReportHTMLPrintVisitor | |
| ReportListener | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| ReportTree | |
| ReportVisitor | |
| Report.ProcessingError | |
| Report.ReadableDuration | |
| Report.SuppressedViolation | |
| ResourceLoader | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| RubyLanguage | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| RubyTokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Rule | This is the basic Rule interface for PMD rules. |
| RuleChain | The RuleChain is a means by which Rules can participate in a uniform visitation of the AST, and not need perform their own independent visitation. |
| RuleChainVisitor | The RuleChainVisitor understands how to visit an AST for a particular Language. |
| RuleContext | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| RuleReference | This class represents a Rule which is a reference to Rule defined in another RuleSet. |
| RuleSet | This class represents a collection of rules. |
| RuleSetFactory | RuleSetFactory is responsible for creating RuleSet instances from XML content. |
| RuleSetNotFoundException | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| RuleSetReference | This class represents a reference to RuleSet. |
| RuleSets | Grouping of Rules per Language in a RuleSet. |
| RuleSetWrapper | |
| RuleSetWriter | This class represents a way to serialize a RuleSet to an XML configuration file. |
| RuleViolation | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| RuleViolation.RuleViolationComparator | |
| Scope | Provides methods which all scopes must implement See JLS 6.3 for a description of scopes |
| ScopeAndDeclarationFinder | Visitor for scope creation. |
| ScopedLogHandlersManager | |
| Search | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| SequenceChecker | |
| SequenceException | |
| SignatureDeclareThrowsException | A method/constructor shouldn't explicitly throw java.lang.Exception, since it is unclear which exceptions that can be thrown from the methods. |
| SimpleCharStream | An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (without unicode processing). |
| SimpleJavaAccessNode | |
| SimpleJavaAccessTypeNode | |
| SimpleJavaNode | |
| SimpleJavaTypeNode | An extension of the SimpleJavaNode which implements the TypeNode interface. |
| SimpleNode | |
| SimpleNode | |
| SimpleNodeSubMenu | submenu for the simple node itself |
| SimpleNodeTreeNodeAdapter | provides the adapter for the tree model |
| SimpleRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| SimpleRuleSetNameMapper | |
| SimplifyBooleanReturns | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| SingleLineComment | |
| SingularField | |
| SourceCode | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| SourceCodePanel | source code panel |
| SourceCode.CodeLoader | |
| SourceCode.FileCodeLoader | |
| SourceCode.StringCodeLoader | |
| SourceFileConstants | Constants used when handling names of source files. |
| SourceFileOrDirectoryFilter | Filtering of directories en wanted source files. |
| SourceFileScope | |
| SourceFileSelector | Filtering of wanted source files. |
| SourceType | Enumeration of the types of source code. |
| SourceTypeDiscoverer | This class can give the SourceType of a source file. |
| SourceTypeHandler | Interface for obtaining the classes necessary for checking source files of a specific language. |
| SourceTypeHandlerBroker | Broker for SourceTypeHandler instances for specific SourceTypes. |
| SourceTypeToRuleLanguageMapper | Mapping of SourceType to RuleLanguage. |
| StackObject | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| StartAndEndTagMismatchException | |
| StartOrEndDataFlowNode | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| StatementAndBraceFinder | |
| StatisticalRule | |
| StringConcatenationRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| StringInstantiation | |
| StringProperty | Defines a datatype that supports String values. |
| StringToStringRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| StringUtil | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Structure | |
| SummaryHTMLRenderer | |
| SuspiciousHashcodeMethodName | |
| SuspiciousOctalEscape | |
| SwitchDensityRule | |
| SymbolFacade | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| SymbolTableTestRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| SymbolTableViewer | |
| SyntaxErrorException | |
| TargetJDK1_3 | This is an implementation of TargetJDKVersion for JDK 1.3. |
| TargetJDK1_4 | This is an implementation of TargetJDKVersion for JDK 1.4. |
| TargetJDK1_5 | This is an implementation of TargetJDKVersion for JDK 1.5. |
| TargetJDK1_6 | This is an implementation of TargetJDKVersion for JDK 1.6. |
| TargetJDK1_7 | This is an implementation of TargetJDKVersion for JDK 1.7. |
| TargetJDKVersion | Interface to create JDK-appropriate parsers. |
| TestClassWithoutTestCases | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| TextPadRenderer |
A Renderer for running PMD via a TextPad 'tool'. |
| TextRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Token | Describes the input token stream. |
| Token | Describes the input token stream. |
| Token | Describes the input token stream. |
| TokenEntry | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Tokenizer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| TokenMgrError | Token Manager Error. |
| TokenMgrError | Token Manager Error. |
| Tokens | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| Token.GTToken | |
| TooManyFields | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| TypeHelper | |
| TypeMap | A specialized map that stores classes by both their full and short names. |
| TypeNode | This interface allows a Java Class to be associtated with a node. |
| TypeOfFunction | |
| TypeProperty | Defines a property that supports class types, even for primitive values! |
| TypeResolutionFacade | |
| TypeSet | Keeps track of the types encountered in a ASTCompilationUnit |
| TypeSet.CurrentPackageResolver | |
| TypeSet.ExplicitImportResolver | |
| TypeSet.FullyQualifiedNameResolver | |
| TypeSet.ImplicitImportResolver | |
| TypeSet.ImportOnDemandResolver | |
| TypeSet.PrimitiveTypeResolver | |
| TypeSet.Resolver | TODO should Resolver provide a canResolve() and a resolve()? |
| TypeSet.VoidResolver | |
| TypeSignatureVisitor | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnaryFunction<E> | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnnecessaryCaseChange | |
| UnnecessaryCast | |
| UnnecessaryConversionTemporary | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnnecessaryLocalBeforeReturn | |
| UnnecessaryReturn | |
| UnnecessaryWrapperObjectCreation | |
| UnsynchronizedStaticDateFormatter | Using a DateFormatter (SimpleDateFormatter) which is static can cause unexpected results when used in a multi threaded environment. |
| UnusedFormalParameterRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnusedImports | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnusedImportsRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnusedLocalVariableRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnusedModifier | |
| UnusedPrivateFieldRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UnusedPrivateMethodRule | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UsageGraph | A UsageGraph tracks usage references between Java classes, based upon a parsing of the class files. |
| UsageGraphBuilder | Utility class used to build a UsageGraph. |
| UsageGraphBuilder.MyMethodVisitor | |
| UsageNodeVisitor | Perform a visitation a UsageGraph, looking for dead code, which is essential code which is not used by any other code. |
| UsageNodeVisitor.Options | Configuration options for usage analysus. |
| UseCollectionIsEmpty | Detect structures like "foo.size() == 0" and suggest replacing them with foo.isEmpty(). |
| UseIndexOfChar | |
| UselessAssignment | |
| UselessOperationOnImmutable | An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself. |
| UselessOverridingMethod | |
| UselessStringValueOf | |
| UseSingleton | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| UseStringBufferForStringAppends | |
| UseStringBufferLength |
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
}
|
| VariableAccess | |
| VariableAccessException | |
| VariableAccessVisitor | |
| VariableNameDeclaration | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| VariableNamingConventions | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| VariableUsageFinderFunction | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| VBHTMLRenderer | |
| Viewer | viewer's starter |
| ViewerModel | |
| ViewerModelEvent | The event which will be sent every time the model changes Note: the instances will be immutable |
| ViewerModelListener | identiefie a listener of the ViewerModel |
| ViolationNode | |
| VisitorStarter | Interface for starting an implementation of the parser visitors for the grammars. |
| VSRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| XMLRenderer | |
| XMLRenderer | BSD-style license; for more info see http://pmd.sourceforge.net/license.html |
| XPathFragmentAddingItem | adds the given path fragment to the XPath expression upon action |
| XPathPanel | Panel for the XPath entry and editing |
| XPathRule | Rule that tries to match an XPath expression against a DOM view of the AST of a "compilation unit". |
| XPathTest | To use this, do this: $ cat ~/tmp/Test.java package foo; public class Test { private int x; } $ java net.sourceforge.pmd.util.XPathTest -xpath "//FieldDeclaration" -filename "/home/tom/tmp/Test.java" Match at line 3 column 11; package name 'foo'; variable name 'x' |
| XSLTRenderer | |
| YAHTMLRenderer | |
| ZipDataSource | DataSource implementation to read data from an entry in a zip or jar file. |