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 |
A class declaration added by the compiler implicitly in a compact compilation unit (see JEP 512, Java 25).
|
| 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 |
|
| 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.
|
| ReturnScopeNode |
Marker interface for those nodes that can be the target of a return statement.
|
| ScopeInfo |
|
| ShadowChain<S,I> |
A shadow chain is a linked list of NameResolvers, 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 |
|