All Classes Interface Summary Class Summary Enum Summary
Class |
Description |
AbstractClassWithoutAbstractMethodRule |
|
AbstractJavaRule |
Base class for Java rules.
|
AbstractJavaRulechainRule |
Base class for rules using the rulechain.
|
AbstractPackageNameModuleDirective |
|
AccessorClassGenerationRule |
1.
|
AccessorMethodGenerationRule |
|
AddEmptyStringRule |
|
AnnotableSymbol |
A symbol that can have annotations.
|
Annotatable |
Marks nodes that can be annotated.
|
AppendCharacterWithCharRule |
This rule finds the following:
|
ArrayIsStoredDirectlyRule |
If a method or constructor receives an array as an argument, the array should
be cloned instead of directly stored.
|
AssignmentInOperandRule |
|
AssignmentOp |
|
AssignmentToNonFinalStaticRule |
|
ASTAmbiguousName |
An ambiguous name occurring in any context.
|
ASTAnnotation |
Represents an annotation.
|
ASTAnnotationMemberList |
|
ASTAnnotationTypeBody |
|
ASTAnnotationTypeDeclaration |
The declaration of an annotation type.
|
ASTAnonymousClassDeclaration |
An anonymous class declaration.
|
ASTArgumentList |
|
ASTArrayAccess |
An array access expression.
|
ASTArrayAllocation |
An array creation expression.
|
ASTArrayDimensions |
Represents array type dimensions.
|
ASTArrayDimExpr |
|
ASTArrayInitializer |
An array initializer.
|
ASTArrayType |
Represents an array type.
|
ASTArrayTypeDim |
|
ASTAssertStatement |
Represents an assert statement.
|
ASTAssignableExpr |
|
ASTAssignableExpr.AccessType |
|
ASTAssignableExpr.ASTNamedReferenceExpr |
|
ASTAssignmentExpression |
Represents an assignment expression.
|
ASTBlock |
A block of code.
|
ASTBodyDeclaration |
Marker interface for declarations that can occur in a type body,
such as field or method declarations.
|
ASTBooleanLiteral |
The boolean literal, either "true" or "false".
|
ASTBreakStatement |
A break statement, that jumps to a named label (or exits the current loop).
|
ASTCastExpression |
Represents a type cast expression.
|
ASTCatchClause |
|
ASTCatchParameter |
Formal parameter of a catch clause
to represent the declared exception variable.
|
ASTCharLiteral |
Represents a character literal.
|
ASTClassBody |
|
ASTClassDeclaration |
Represents class and interface declarations.
|
ASTClassLiteral |
A class literal.
|
ASTClassType |
Represents a class or interface type, possibly parameterised with type arguments.
|
ASTCompactConstructorDeclaration |
|
ASTCompilationUnit |
The root node of all Java ASTs.
|
ASTConditionalExpression |
Represents a conditional expression, aka ternary expression.
|
ASTConstructorCall |
A class instance creation expression.
|
ASTConstructorDeclaration |
A constructor of a class or
enum declaration.
|
ASTContinueStatement |
A continue statement, that jumps to the next iteration of an enclosing loop.
|
ASTDefaultValue |
|
ASTDoStatement |
Represents a do ... while statement.
|
ASTEmptyDeclaration |
An empty declaration (useless).
|
ASTEmptyStatement |
An empty statement (useless).
|
ASTEnumBody |
|
ASTEnumConstant |
|
ASTEnumDeclaration |
Represents an enum declaration.
|
ASTExecutableDeclaration |
Groups method and constructor declarations under a common type.
|
ASTExplicitConstructorInvocation |
|
ASTExpression |
Represents an expression, in the most general sense.
|
ASTExpression.ConstResult |
Result of constant folding an expression.
|
ASTExpressionStatement |
A statement that contains an expression.
|
ASTExtendsList |
Represents the extends clause of a class or interface declaration.
|
ASTFieldAccess |
A field access expression.
|
ASTFieldDeclaration |
Represents a field declaration in the body of a type declaration.
|
ASTFinallyClause |
|
ASTForeachStatement |
Represents a "foreach"-loop on an Iterable .
|
ASTForInit |
The initialization clause of a for loop.
|
ASTFormalParameter |
|
ASTFormalParameters |
|
ASTForStatement |
|
ASTForUpdate |
|
ASTGuard |
|
ASTIfStatement |
Represents an if statement, possibly with an else statement.
|
ASTImplementsList |
Represents the implements clause of a class declaration.
|
ASTImplicitClassDeclaration |
|
ASTImportDeclaration |
Represents an import declaration in a Java file.
|
ASTInfixExpression |
Represents a binary infix expression.
|
ASTInitializer |
A class or instance initializer.
|
ASTIntersectionType |
|
ASTLabeledStatement |
A wrapper around a statement that assigns it a label.
|
ASTLambdaExpression |
A lambda expression.
|
ASTLambdaParameter |
Formal parameter of a lambda expression.
|
ASTLambdaParameterList |
|
ASTList<N extends JavaNode> |
Common supertype for nodes that act as a kind of list of other nodes.
|
ASTLiteral |
A lexical literal.
|
ASTLocalClassStatement |
A statement that contains a local class declaration.
|
ASTLocalVariableDeclaration |
Represents a local variable declaration.
|
ASTLoopStatement |
A loop statement.
|
ASTMemberValue |
Represents the value of a member of an annotation.
|
ASTMemberValueArrayInitializer |
Represents an array of member values in an annotation member value.
|
ASTMemberValuePair |
Represents a single pair of member name to value in an annotation.
|
ASTMethodCall |
A method invocation expression.
|
ASTMethodDeclaration |
A method declaration, in a class or interface declaration.
|
ASTMethodReference |
Method or constructor reference expression.
|
ASTModifierList |
List of modifiers of a declaration.
|
ASTModuleDeclaration |
A module declaration.
|
ASTModuleDirective |
|
ASTModuleExportsDirective |
|
ASTModuleName |
The name of a module.
|
ASTModuleOpensDirective |
|
ASTModuleProvidesDirective |
|
ASTModuleRequiresDirective |
|
ASTModuleUsesDirective |
|
ASTNullLiteral |
The null literal.
|
ASTNumericLiteral |
A numeric literal of any type (double, int, long, float, etc).
|
ASTPackageDeclaration |
|
ASTPattern |
|
ASTPatternExpression |
|
ASTPatternList |
Contains a potentially empty list of nested Patterns for RecordPattern
(Java 21).
|
ASTPermitsList |
Represents the permits clause of a (sealed) class declaration.
|
ASTPrimaryExpression |
Tags those expressions that are categorised as primary
by the JLS.
|
ASTPrimitiveType |
Represents a primitive type.
|
ASTReceiverParameter |
Receiver parameter.
|
ASTRecordBody |
|
ASTRecordComponent |
|
ASTRecordComponentList |
|
ASTRecordDeclaration |
A record declaration is a special data class type (JDK 16 feature).
|
ASTRecordPattern |
A record pattern, a Java 21 language feature.
|
ASTReferenceType |
|
ASTResource |
|
ASTResourceList |
|
ASTReturnStatement |
A return statement in a method or constructor body.
|
ASTStatement |
Represents a code statement.
|
ASTStatementExpressionList |
A list of statement expressions.
|
ASTStringLiteral |
Represents a string literal.
|
ASTSuperExpression |
The "super" keyword.
|
ASTSwitchArrowBranch |
A non-fallthrough switch rule, introduced with switch expressions.
|
ASTSwitchArrowRHS |
|
ASTSwitchBranch |
|
ASTSwitchExpression |
A switch expression, as introduced in Java 12.
|
ASTSwitchFallthroughBranch |
A fallthrough switch branch.
|
ASTSwitchLabel |
|
ASTSwitchLike |
|
ASTSwitchStatement |
Represents a switch statement.
|
ASTSynchronizedStatement |
A synchronized statement.
|
ASTThisExpression |
The "this" expression.
|
ASTThrowsList |
|
ASTThrowStatement |
A throw statement.
|
ASTTopLevelDeclaration |
Marker interface for nodes that can appear on the top-level of a file.
|
ASTTryStatement |
Try statement node.
|
ASTType |
Represents a type reference.
|
ASTTypeArguments |
Represents a list of type arguments.
|
ASTTypeBody |
Body of a type declaration.
|
ASTTypeDeclaration |
Groups class, enum, record, annotation and interface declarations under a common
supertype.
|
ASTTypeExpression |
|
ASTTypeParameter |
Represents a type parameter declaration of a method, constructor, class or interface declaration.
|
ASTTypeParameters |
Represents a list of type parameters.
|
ASTTypePattern |
A type pattern (JDK16).
|
ASTUnaryExpression |
Represents a unary operation on a value.
|
ASTUnionType |
Represents the type node of a multi-catch statement.
|
ASTUnnamedPattern |
An unnamed pattern, a Java 22 language feature.
|
ASTVariableAccess |
An unqualified reference to a variable (either local, or a field that
is in scope).
|
ASTVariableDeclarator |
Groups a variable ID and its initializer if it exists.
|
ASTVariableId |
Represents an identifier in the context of variable or parameter declarations (not their use in
expressions).
|
ASTVoidType |
Type node to represent the void pseudo-type.
|
ASTWhileStatement |
Represents a while loop.
|
ASTWildcardType |
Represents a wildcard type.
|
ASTYieldStatement |
|
AtLeastOneConstructorRule |
This rule detects non-static classes with no constructors;
requiring even the default constructor to be explicit.
|
AvoidBranchingStatementAsLastInLoopRule |
|
AvoidDeeplyNestedIfStmtsRule |
|
AvoidDuplicateLiteralsRule |
|
AvoidInstantiatingObjectsInLoopsRule |
|
AvoidReassigningCatchVariablesRule |
|
AvoidReassigningLoopVariablesRule |
|
AvoidReassigningParametersRule |
|
AvoidThrowingNullPointerExceptionRule |
Finds throw statements containing NullPointerException
instances as thrown values
|
AvoidUsingHardCodedIPRule |
|
AvoidUsingOctalValuesRule |
|
BigIntegerInstantiationRule |
|
BinaryOp |
|
BrokenNullCheckRule |
|
CheckResultSetRule |
Rule that verifies, that the return values of next(), first(), last(), etc.
|
CheckSkipResultRule |
|
ClassNamingConventionsRule |
Configurable naming conventions for type declarations.
|
ClassWithOnlyPrivateConstructorsShouldBeFinalRule |
|
CloneMethodMustImplementCloneableRule |
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.
|
CloseResourceRule |
Makes sure you close your database connections.
|
CognitiveComplexityRule |
Cognitive complexity rule.
|
CommentContentRule |
A rule that checks for illegal words in the comment text.
|
CommentDefaultAccessModifierRule |
Check for Methods, Fields and Nested Classes that have a default access
modifier
This rule ignores all nodes annotated with @VisibleForTesting by default.
|
CommentRequiredRule |
|
CommentSizeRule |
A rule to manage those who just can't shut up...
|
ConfusingArgumentToVarargsMethodRule |
|
ConfusingTernaryRule |
if (x !
|
ConsecutiveAppendsShouldReuseRule |
|
ConsecutiveLiteralAppendsRule |
This rule finds concurrent calls to StringBuffer/Builder.append where String
literals are used.
|
ConstructorCallsOverridableMethodRule |
Searches through all methods and constructors called from constructors.
|
CoreResolvers |
|
CouplingBetweenObjectsRule |
CouplingBetweenObjects attempts to capture all unique Class attributes, local
variables, and return types to determine how many objects a class is coupled
to.
|
CyclomaticComplexityRule |
Cyclomatic complexity rule using metrics.
|
DataClassRule |
|
DetachedTestCaseRule |
|
DoubleCheckedLockingRule |
void method() {
if (x == null) {
synchronized(this){
if (x == null) {
x = new | method();
}
}
}
}
|
EmptyControlStatementRule |
|
ExceptionAsFlowControlRule |
Catches the use of exception statements as a flow control device.
|
ExcessiveImportsRule |
ExcessiveImports attempts to count all unique imports a class contains.
|
ExcessiveParameterListRule |
This rule detects an abnormally long parameter list.
|
ExcessivePublicCountRule |
Rule attempts to count all public methods and public attributes
defined in a class.
|
ExprContext |
Context of an expression.
|
ExprContext.ExprContextKind |
Kind of context.
|
FieldDeclarationsShouldBeAtStartOfClassRule |
Detects fields that are declared after methods, constructors, etc.
|
FieldNamingConventionsRule |
Configurable naming conventions for field declarations.
|
FinalFieldCouldBeStaticRule |
|
ForLoopCanBeForeachRule |
|
FormalParameterNamingConventionsRule |
Enforces a naming convention for lambda and method parameters.
|
FunctionalExpression |
A method reference or lambda expression.
|
GodClassRule |
The God Class Rule detects the God Class design flaw using metrics.
|
GuardLogStatementRule |
Check that log.debug, log.trace, log.error, etc... statements are guarded by
some test expression on log.isDebugEnabled() or log.isTraceEnabled().
|
HardCodedCryptoKeyRule |
Finds hard coded encryption keys that are passed to
javax.crypto.spec.SecretKeySpec(key, algorithm).
|
IdempotentOperationsRule |
|
IdenticalCatchBranchesRule |
Flags identical catch branches, which can be collapsed into a multi-catch.
|
ImmutableFieldRule |
|
ImplicitFunctionalInterfaceRule |
|
ImplicitSwitchFallThroughRule |
|
InefficientEmptyStringCheckRule |
This rule finds code which inefficiently determines empty strings.
|
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.
|
InsecureCryptoIvRule |
Finds hardcoded static Initialization Vectors vectors used with cryptographic
operations.
|
InsufficientStringBufferDeclarationRule |
This rule finds StringBuffers which may have been pre-sized incorrectly.
|
InternalApiBridge |
Internal API.
|
InternalApiBridge |
Internal API.
|
InternalApiBridge |
Internal API.
|
InvalidJavaBeanRule |
|
InvalidLogMessageFormatRule |
|
InvocationMatcher |
Matches a method or constructor call against a particular overload.
|
InvocationMatcher.CompoundInvocationMatcher |
A compound of several matchers (logical OR).
|
InvocationNode |
|
JAccessibleElementSymbol |
|
JArrayType |
An array type (1 dimension).
|
JavaComment |
Wraps a comment token to provide some utilities.
|
JavaCpdLexer |
Note: This class has been called JavaTokenizer in PMD 6
|
JavadocComment |
|
JavadocCommentOwner |
A node that may own a javadoc comment.
|
JavadocTag |
|
JavaLanguageModule |
Created by christoferdutz on 20.09.14.
|
JavaMetrics |
Built-in Java metrics.
|
JavaMetrics.ClassFanOutOption |
|
JavaMetrics.CycloOption |
|
JavaMetrics.NcssOption |
|
JavaNode |
Root interface for all Nodes of the Java AST.
|
JavaParser |
Adapter for the JavaParser, using the specified grammar version.
|
JavaTokenKinds |
Token kinds (JavaccToken.kind ) for this language.
|
JavaVisitor<P,R> |
|
JavaVisitorBase<P,R> |
|
JClassSymbol |
Abstraction over a Class instance.
|
JClassType |
Represents class and interface types, including functional interface
types.
|
JConstructorSymbol |
Represents a constructor declaration.
|
JElementSymbol |
Represents a named program element that can be referred to by simple name.
|
JExecutableSymbol |
|
JFieldSymbol |
Represents a field declaration.
|
JFormalParamSymbol |
|
JIntersectionType |
An intersection type.
|
JLocalVariableSymbol |
Represents all use cases of ASTVariableId except field declarations.
|
JMethodSig |
Represents the signature of methods and constructors.
|
JMethodSymbol |
Reference to a method.
|
JModifier |
A Java modifier.
|
JModuleSymbol |
|
JPrimitiveType |
Mirror a primitive types.
|
JPrimitiveType.PrimitiveTypeKind |
|
JRecordComponentSymbol |
Represents a record component.
|
JSymbolTable |
A symbol table for a particular region of a Java program.
|
JTypeDeclSymbol |
A symbol that declares a type.
|
JTypeMirror |
Type mirrors represent Java types.
|
JTypeParameterOwnerSymbol |
|
JTypeParameterSymbol |
Represents the declaration of a type variable, ie a type parameter.
|
JTypeVar |
The type of a type variable.
|
JTypeVisitable |
|
JTypeVisitor<R,P> |
Visits a type.
|
JUnitAssertionsShouldIncludeMessageRule |
Deprecated.
|
JUnitSpellingRule |
|
JUnitStaticSuiteRule |
|
JUnitTestContainsTooManyAssertsRule |
Deprecated.
|
JUnitTestsShouldIncludeAssertRule |
Deprecated.
|
JUnitUseExpectedRule |
This rule finds code like this:
|
JVariableSig |
|
JVariableSig.FieldSig |
A field signature.
|
JVariableSymbol |
|
JWildcardType |
Represents a wildcard type.
|
LambdaCanBeMethodReferenceRule |
|
LawOfDemeterRule |
This rule can detect possible violations of the Law of Demeter.
|
LexicalScope |
An index of type variables by name.
|
LinguisticNamingRule |
|
LiteralsFirstInComparisonsRule |
|
LocalVariableCouldBeFinalRule |
|
LocalVariableNamingConventionsRule |
Enforces a naming convention for local variables and other locally scoped variables.
|
LooseCouplingRule |
|
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.
|
MethodArgumentCouldBeFinalRule |
|
MethodNamingConventionsRule |
|
MethodReturnsInternalArrayRule |
Implementation note: this rule currently ignores return types of y.x.z,
currently it handles only local type fields.
|
MethodUsage |
A node that uses another method or constructor.
|
MissingOverrideRule |
Flags missing @Override annotations.
|
ModifierOwner |
|
ModifierOwner.Visibility |
Represents the visibility of a declaration.
|
NameResolver<S> |
|
NameResolver.SingleNameResolver<S> |
A base class for resolvers that know at most one symbol for any
given name.
|
NcssCountRule |
Simple rule for Ncss.
|
NonSerializableClassRule |
|
NonThreadSafeSingletonRule |
|
NPathComplexityRule |
Simple n-path complexity rule.
|
NullAssignmentRule |
|
OnlyOneReturnRule |
|
OverloadSelectionResult |
Information about the overload-resolution for a specific
expression.
|
OverrideBothEqualsAndHashcodeRule |
|
PrematureDeclarationRule |
Checks for variables in methods that are defined before they are really
needed.
|
PreserveStackTraceRule |
|
PrimitiveWrapperInstantiationRule |
|
ProperCloneImplementationRule |
|
QualifiableExpression |
Node that may be qualified by an expression, e.g. an instance method call or
inner class constructor invocation.
|
RedundantFieldInitializerRule |
Detects redundant field initializers, i.e. the field initializer expressions
the JVM would assign by default.
|
ScopeInfo |
|
ShadowChain<S,I> |
A shadow chain is a linked list of NameResolver s, which handles
shadowing relations between declarations.
|
ShadowChainBuilder<S,I> |
Build a shadow chain for some type.
|
ShadowChainIterator<S,I> |
|
ShadowChainNode<S,I> |
|
SignatureDeclareThrowsExceptionRule |
A method/constructor shouldn't explicitly throw java.lang.Exception, since it
is unclear which exceptions that can be thrown from the methods.
|
SimplifiableTestAssertionRule |
|
SimplifyBooleanReturnsRule |
|
SimplifyConditionalRule |
|
SingleMethodSingletonRule |
Returns Checks if the singleton rule is used properly.
|
SingletonClassReturningNewInstanceRule |
|
SingularFieldRule |
A singular field is a field that may be converted to a local variable.
|
StringInstantiationRule |
|
Substitution |
|
SubstVar |
Common supertype for JTypeVar and InferenceVar ,
the two kinds of types that can be substituted in types.
|
SuspiciousOctalEscapeRule |
|
SwitchDensityRule |
Switch Density - This is the number of statements over the number of
cases within a switch.
|
SymbolDeclaratorNode |
A node that declares a corresponding symbol.
|
SymbolicValue |
Structure to represent constant values of annotations symbolically.
|
SymbolicValue.SymAnnot |
Symbolic representation of an annotation.
|
SymbolicValue.SymArray |
An array of values.
|
SymbolicValue.SymClass |
Represents a class constant.
|
SymbolicValue.SymEnum |
Symbolic representation of an enum constant.
|
SymbolicValue.SymValue |
Represents a primitive or string value.
|
SymbolResolver |
Resolves symbols from their global name.
|
SymbolVisitor<R,P> |
Visitor over symbols.
|
SyntacticJavaTokenizerFactory |
Deprecated.
|
TestClassWithoutTestCasesRule |
|
TypeConversion |
Utility class for type conversions, as defined in JLS§5.
|
TypeNode |
A node that has a statically known type.
|
TypeOps |
Common operations on types.
|
TypeOps.Convertibility |
A result for a convertibility check.
|
TypeParamOwnerNode |
A symbol declaration, whose symbol can declare type parameters.
|
TypePrettyPrint |
Pretty-printing methods to display types.
|
TypePrettyPrint.TypePrettyPrinter |
Options to pretty print a type.
|
TypesFromReflection |
Builds type mirrors from Type instances.
|
TypeSystem |
Root context object for type analysis.
|
TypeTestUtil |
Public utilities to test the type of nodes.
|
TypingContext |
A mapping of variables to types.
|
UnaryOp |
A unary operator, either prefix or postfix.
|
UnitTestAssertionsShouldIncludeMessageRule |
|
UnitTestContainsTooManyAssertsRule |
|
UnitTestShouldIncludeAssertRule |
|
UnnecessaryBoxingRule |
|
UnnecessaryCaseChangeRule |
|
UnnecessaryCastRule |
Detects casts where the operand is already a subtype of the context
type, or may be converted to it implicitly.
|
UnnecessaryConstructorRule |
This rule detects when a constructor is not necessary;
i.e., when there is only one constructor, it’s public, has an empty body,
and takes no arguments.
|
UnnecessaryFullyQualifiedNameRule |
|
UnnecessaryImportRule |
Detects unnecessary imports.
|
UnnecessaryLocalBeforeReturnRule |
|
UnnecessaryModifierRule |
|
UnnecessaryReturnRule |
|
UnnecessaryVarargsArrayCreationRule |
|
UnsynchronizedStaticFormatterRule |
Using a Formatter (e.g.
|
UnusedAssignmentRule |
|
UnusedFormalParameterRule |
|
UnusedLocalVariableRule |
|
UnusedPrivateFieldRule |
|
UnusedPrivateMethodRule |
This rule detects private methods, that are not used and can therefore be
deleted.
|
UseCollectionIsEmptyRule |
Detect structures like "foo.size() == 0" and suggest replacing them with
foo.isEmpty().
|
UseDiamondOperatorRule |
Checks usages of explicity type arguments in a constructor call that
may be replaced by a diamond (<> ).
|
UseEnumCollectionsRule |
Detect cases where EnumSet and EnumMap can be used.
|
UseIndexOfCharRule |
|
UselessOperationOnImmutableRule |
An operation on an Immutable object (String, BigDecimal or BigInteger) won't
change the object itself.
|
UselessOverridingMethodRule |
|
UselessParenthesesRule |
|
UselessParenthesesRule.Necessity |
|
UselessStringValueOfRule |
|
UseStringBufferForStringAppendsRule |
|
UseTryWithResourcesRule |
|
UseUtilityClassRule |
|