Uses of Class
net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
-
-
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule Modifier and Type Class Description classAbstractJavaRulechainRuleBase class for rules using the rulechain. -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.bestpractices
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.bestpractices Modifier and Type Class Description classAbstractClassWithoutAbstractMethodRuleclassAccessorClassGenerationRule1.classAccessorMethodGenerationRuleclassArrayIsStoredDirectlyRuleIf a method or constructor receives an array as an argument, the array should be cloned instead of directly stored.classAvoidReassigningCatchVariablesRuleclassAvoidReassigningLoopVariablesRuleclassAvoidReassigningParametersRuleclassAvoidUsingHardCodedIPRuleclassCheckResultSetRuleRule that verifies, that the return values of next(), first(), last(), etc.classForLoopCanBeForeachRuleclassGuardLogStatementRuleCheck that log.debug, log.trace, log.error, etc...classJUnitAssertionsShouldIncludeMessageRuleclassJUnitTestContainsTooManyAssertsRuleclassJUnitTestsShouldIncludeAssertRuleclassJUnitUseExpectedRuleThis rule finds code like this:classLiteralsFirstInComparisonsRuleclassLooseCouplingRuleclassMethodReturnsInternalArrayRuleImplementation note: this rule currently ignores return types of y.x.z, currently it handles only local type fields.classMissingOverrideRuleFlags missing @Override annotations.classPreserveStackTraceRuleclassPrimitiveWrapperInstantiationRuleclassSimplifiableTestAssertionRuleclassUnnecessaryVarargsArrayCreationRuleclassUnusedAssignmentRuleclassUnusedFormalParameterRuleclassUnusedLocalVariableRuleclassUnusedPrivateFieldRuleclassUnusedPrivateMethodRuleThis rule detects private methods, that are not used and can therefore be deleted.classUseCollectionIsEmptyRuleDetect structures like "foo.size() == 0" and suggest replacing them with foo.isEmpty().classUseEnumCollectionsRuleDetect cases where EnumSet and EnumMap can be used.classUseTryWithResourcesRule -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.codestyle
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.codestyle Modifier and Type Class Description classAtLeastOneConstructorRuleThis rule detects non-static classes with no constructors; requiring even the default constructor to be explicit.classClassNamingConventionsRuleConfigurable naming conventions for type declarations.classCommentDefaultAccessModifierRuleCheck for Methods, Fields and Nested Classes that have a default access modifier This rule ignores all nodes annotated with @VisibleForTesting by default.classConfusingTernaryRuleif (x != y) { diff(); } else { same(); }and
(!x ? diff() : same());classEmptyControlStatementRuleclassFieldDeclarationsShouldBeAtStartOfClassRuleDetects fields that are declared after methods, constructors, etc.classFieldNamingConventionsRuleConfigurable naming conventions for field declarations.classFormalParameterNamingConventionsRuleEnforces a naming convention for lambda and method parameters.classIdenticalCatchBranchesRuleFlags identical catch branches, which can be collapsed into a multi-catch.classLambdaCanBeMethodReferenceRuleclassLinguisticNamingRuleclassLocalVariableCouldBeFinalRuleclassLocalVariableNamingConventionsRuleEnforces a naming convention for local variables and other locally scoped variables.classMethodArgumentCouldBeFinalRuleclassMethodNamingConventionsRuleclassOnlyOneReturnRuleclassPrematureDeclarationRuleChecks for variables in methods that are defined before they are really needed.classUnnecessaryBoxingRuleclassUnnecessaryCastRuleDetects casts where the operand is already a subtype of the context type, or may be converted to it implicitly.classUnnecessaryConstructorRuleThis 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.classUnnecessaryFullyQualifiedNameRuleclassUnnecessaryImportRuleDetects unnecessary imports.classUnnecessaryLocalBeforeReturnRuleclassUnnecessaryModifierRuleclassUnnecessaryReturnRuleclassUseDiamondOperatorRuleChecks usages of explicity type arguments in a constructor call that may be replaced by a diamond (<>).classUselessParenthesesRule -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.design
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.design Modifier and Type Class Description classAvoidDeeplyNestedIfStmtsRuleclassAvoidThrowingNullPointerExceptionRuleFindsthrowstatements containingNullPointerExceptioninstances as thrown valuesclassClassWithOnlyPrivateConstructorsShouldBeFinalRuleclassCognitiveComplexityRuleCognitive complexity rule.classCouplingBetweenObjectsRuleCouplingBetweenObjects attempts to capture all unique Class attributes, local variables, and return types to determine how many objects a class is coupled to.classCyclomaticComplexityRuleCyclomatic complexity rule using metrics.classDataClassRuleclassExceptionAsFlowControlRuleCatches the use of exception statements as a flow control device.classExcessiveImportsRuleExcessiveImports attempts to count all unique imports a class contains.classExcessiveParameterListRuleThis rule detects an abnormally long parameter list.classExcessivePublicCountRuleRule attempts to count all public methods and public attributes defined in a class.classGodClassRuleThe God Class Rule detects the God Class design flaw using metrics.classImmutableFieldRuleclassInvalidJavaBeanRuleclassLawOfDemeterRuleThis rule can detect possible violations of the Law of Demeter.classLoosePackageCouplingRuleThe 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.classNcssCountRuleSimple rule for Ncss.classNPathComplexityRuleSimple n-path complexity rule.classSignatureDeclareThrowsExceptionRuleA method/constructor shouldn't explicitly throw java.lang.Exception, since it is unclear which exceptions that can be thrown from the methods.classSimplifyBooleanReturnsRuleclassSimplifyConditionalRuleclassSingularFieldRuleA singular field is a field that may be converted to a local variable.classSwitchDensityRuleSwitch Density - This is the number of statements over the number of cases within a switch.classUselessOverridingMethodRuleclassUseUtilityClassRule -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.documentation
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.documentation Modifier and Type Class Description classCommentContentRuleA rule that checks for illegal words in the comment text.classCommentRequiredRuleclassCommentSizeRuleA rule to manage those who just can't shut up... -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.errorprone
-
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.internal
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.internal with annotations of type with type parameters of type that implement declared as with annotations of type with type parameters of type with annotations of type with annotations of type with type parameters of type that return that return types with arguments of type with parameters of type with type arguments of type that throw with annotations of type with annotations of type with parameters of type with type arguments of type that throw Modifier and Type Class Description classnet.sourceforge.pmd.lang.java.rule.internal.AbstractIgnoredAnnotationRuleclassnet.sourceforge.pmd.lang.java.rule.internal.AbstractJavaCounterCheckRule<T extends JavaNode>Abstract class for rules counting the length of some node. -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.multithreading
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.multithreading Modifier and Type Class Description classDoubleCheckedLockingRulevoid method() { if (x == null) { synchronized(this){ if (x == null) { x = new | method(); } } } }classNonThreadSafeSingletonRuleclassUnsynchronizedStaticFormatterRuleUsing a Formatter (e.g. -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.performance
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.performance Modifier and Type Class Description classAddEmptyStringRuleclassAppendCharacterWithCharRuleThis rule finds the following:classAvoidInstantiatingObjectsInLoopsRuleclassBigIntegerInstantiationRuleRule that marks instantiations of newBigIntegerorBigDecimalobjects, when there is a well-known constant available, such asBigInteger.ZERO.classConsecutiveAppendsShouldReuseRuleclassConsecutiveLiteralAppendsRuleThis rule finds concurrent calls to StringBuffer/Builder.append where String literals are used.classInefficientEmptyStringCheckRuleThis rule finds code which inefficiently determines empty strings.classInefficientStringBufferingRuleHow 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.classInsufficientStringBufferDeclarationRuleThis rule finds StringBuffers which may have been pre-sized incorrectly.classRedundantFieldInitializerRuleDetects redundant field initializers, i.e.classStringInstantiationRuleclassUseIndexOfCharRuleclassUselessStringValueOfRuleclassUseStringBufferForStringAppendsRule -
Uses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.security
Subclasses of AbstractJavaRule in net.sourceforge.pmd.lang.java.rule.security Modifier and Type Class Description classHardCodedCryptoKeyRuleFinds hard coded encryption keys that are passed to javax.crypto.spec.SecretKeySpec(key, algorithm).classInsecureCryptoIvRuleFinds hardcoded static Initialization Vectors vectors used with cryptographic operations.
-