diff --git a/pmd_report.html b/pmd_report.html new file mode 100644 index 0000000..ddd70c8 --- /dev/null +++ b/pmd_report.html @@ -0,0 +1,6890 @@ +PMD +

Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rule nameNumber of violations
FinalFieldCouldBeStatic26
UncommentedEmptyMethodBody35
ConfusingTernary3
ClassWithOnlyPrivateConstructorsShouldBeFinal7
AvoidSynchronizedAtMethodLevel22
ConstructorCallsOverridableMethod41
PreserveStackTrace17
SwitchStmtsShouldHaveDefault2
UseVarargs233
InstantiationToGetClass9
FieldDeclarationsShouldBeAtStartOfClass224
CompareObjectsWithEquals47
UseUtilityClass48
SimplifyBooleanExpressions8
UnnecessaryLocalBeforeReturn2
SingletonClassReturningNewInstance3
AvoidReassigningParameters246
CloseResource6
SimpleDateFormatNeedsLocale5
UseLocaleWithCaseConversions4
GodClass56
SingleMethodSingleton4
DataClass2
DefaultLabelNotLastInSwitchStmt1
LogicInversion1
AvoidDeeplyNestedIfStmts13
MissingBreakInSwitch7
UncommentedEmptyConstructor67
AbstractClassWithoutAbstractMethod3
+

Detail

+

PMD report

Problems found

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#FileLineProblem
1/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java45All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
2/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java45Possible God Class (WMC=61, ATFD=40, TCC=0.000%)
3/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java86Avoid reassigning parameters such as 'value'
4/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java100Document empty constructor
5/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java116Use equals() to compare object references.
6/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java219Avoid reassigning parameters such as 'type'
7/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java255Use equals() to compare object references.
8/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/AnnotationUtils.java316Consider using varargs for methods or constructors which take an array the last parameter.
9/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArchUtils.java34All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
10/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java27All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
11/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java48Consider using varargs for methods or constructors which take an array the last parameter.
12/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java60Consider using varargs for methods or constructors which take an array the last parameter.
13/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java72Consider using varargs for methods or constructors which take an array the last parameter.
14/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java84Consider using varargs for methods or constructors which take an array the last parameter.
15/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java96Consider using varargs for methods or constructors which take an array the last parameter.
16/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java108Consider using varargs for methods or constructors which take an array the last parameter.
17/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArraySorter.java121Consider using varargs for methods or constructors which take an array the last parameter.
18/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java49All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
19/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java49Possible God Class (WMC=1,115, ATFD=577, TCC=1.922%)
20/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1363Consider using varargs for methods or constructors which take an array the last parameter.
21/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1395Consider using varargs for methods or constructors which take an array the last parameter.
22/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1411Consider using varargs for methods or constructors which take an array the last parameter.
23/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1427Consider using varargs for methods or constructors which take an array the last parameter.
24/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1443Consider using varargs for methods or constructors which take an array the last parameter.
25/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1459Consider using varargs for methods or constructors which take an array the last parameter.
26/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1475Consider using varargs for methods or constructors which take an array the last parameter.
27/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1497Consider using varargs for methods or constructors which take an array the last parameter.
28/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1764Avoid reassigning parameters such as 'startIndex'
29/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1815Avoid reassigning parameters such as 'startIndex'
30/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1866Avoid reassigning parameters such as 'startIndex'
31/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1938Avoid reassigning parameters such as 'startIndex'
32/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java1980Avoid reassigning parameters such as 'startIndex'
33/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2031Avoid reassigning parameters such as 'startIndex'
34/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2082Avoid reassigning parameters such as 'startIndex'
35/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2133Avoid reassigning parameters such as 'startIndex'
36/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2184Avoid reassigning parameters such as 'startIndex'
37/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2235Avoid reassigning parameters such as 'startIndex'
38/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2284Avoid reassigning parameters such as 'startIndex'
39/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2329Avoid reassigning parameters such as 'startIndex'
40/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2376Avoid reassigning parameters such as 'startIndex'
41/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2438Avoid reassigning parameters such as 'startIndex'
42/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2472Avoid reassigning parameters such as 'startIndex'
43/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2519Avoid reassigning parameters such as 'startIndex'
44/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2566Avoid reassigning parameters such as 'startIndex'
45/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2611Avoid reassigning parameters such as 'startIndex'
46/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2656Avoid reassigning parameters such as 'startIndex'
47/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java2709Avoid reassigning parameters such as 'startIndex'
48/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3136Consider using varargs for methods or constructors which take an array the last parameter.
49/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3161Consider using varargs for methods or constructors which take an array the last parameter.
50/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3172Consider using varargs for methods or constructors which take an array the last parameter.
51/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3183Consider using varargs for methods or constructors which take an array the last parameter.
52/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3194Consider using varargs for methods or constructors which take an array the last parameter.
53/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3207Consider using varargs for methods or constructors which take an array the last parameter.
54/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3219Consider using varargs for methods or constructors which take an array the last parameter.
55/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3230Consider using varargs for methods or constructors which take an array the last parameter.
56/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3258Consider using varargs for methods or constructors which take an array the last parameter.
57/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3280Consider using varargs for methods or constructors which take an array the last parameter.
58/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3291Consider using varargs for methods or constructors which take an array the last parameter.
59/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3302Consider using varargs for methods or constructors which take an array the last parameter.
60/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3313Consider using varargs for methods or constructors which take an array the last parameter.
61/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3324Consider using varargs for methods or constructors which take an array the last parameter.
62/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3335Consider using varargs for methods or constructors which take an array the last parameter.
63/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3348Consider using varargs for methods or constructors which take an array the last parameter.
64/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3361Consider using varargs for methods or constructors which take an array the last parameter.
65/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3387Consider using varargs for methods or constructors which take an array the last parameter.
66/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3400Consider using varargs for methods or constructors which take an array the last parameter.
67/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3413Consider using varargs for methods or constructors which take an array the last parameter.
68/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3426Consider using varargs for methods or constructors which take an array the last parameter.
69/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3439Consider using varargs for methods or constructors which take an array the last parameter.
70/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3471Consider using varargs for methods or constructors which take an array the last parameter.
71/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3484Consider using varargs for methods or constructors which take an array the last parameter.
72/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3512Consider using varargs for methods or constructors which take an array the last parameter.
73/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3562Consider using varargs for methods or constructors which take an array the last parameter.
74/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3587Consider using varargs for methods or constructors which take an array the last parameter.
75/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3612Consider using varargs for methods or constructors which take an array the last parameter.
76/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3637Consider using varargs for methods or constructors which take an array the last parameter.
77/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3662Consider using varargs for methods or constructors which take an array the last parameter.
78/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3687Consider using varargs for methods or constructors which take an array the last parameter.
79/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3714Consider using varargs for methods or constructors which take an array the last parameter.
80/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3785Avoid reassigning parameters such as 'startIndex'
81/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3830Avoid reassigning parameters such as 'startIndex'
82/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3877Avoid reassigning parameters such as 'startIndex'
83/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3939Avoid reassigning parameters such as 'startIndex'
84/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java3973Avoid reassigning parameters such as 'startIndex'
85/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4021Avoid reassigning parameters such as 'startIndex'
86/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4066Avoid reassigning parameters such as 'startIndex'
87/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4111Avoid reassigning parameters such as 'startIndex'
88/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4156Avoid reassigning parameters such as 'startIndex'
89/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4209Avoid reassigning parameters such as 'startIndex'
90/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4232Consider using varargs for methods or constructors which take an array the last parameter.
91/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4252Consider using varargs for methods or constructors which take an array the last parameter.
92/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4312Consider using varargs for methods or constructors which take an array the last parameter.
93/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4332Consider using varargs for methods or constructors which take an array the last parameter.
94/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4352Consider using varargs for methods or constructors which take an array the last parameter.
95/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4372Consider using varargs for methods or constructors which take an array the last parameter.
96/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4392Consider using varargs for methods or constructors which take an array the last parameter.
97/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4412Consider using varargs for methods or constructors which take an array the last parameter.
98/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4432Consider using varargs for methods or constructors which take an array the last parameter.
99/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4452Consider using varargs for methods or constructors which take an array the last parameter.
100/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4472Consider using varargs for methods or constructors which take an array the last parameter.
101/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4495Consider using varargs for methods or constructors which take an array the last parameter.
102/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4515Consider using varargs for methods or constructors which take an array the last parameter.
103/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4535Consider using varargs for methods or constructors which take an array the last parameter.
104/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4555Consider using varargs for methods or constructors which take an array the last parameter.
105/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4575Consider using varargs for methods or constructors which take an array the last parameter.
106/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java4595Consider using varargs for methods or constructors which take an array the last parameter.
107/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6504Consider using varargs for methods or constructors which take an array the last parameter.
108/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6598Consider using varargs for methods or constructors which take an array the last parameter.
109/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6645Consider using varargs for methods or constructors which take an array the last parameter.
110/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6692Consider using varargs for methods or constructors which take an array the last parameter.
111/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6739Consider using varargs for methods or constructors which take an array the last parameter.
112/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6786Consider using varargs for methods or constructors which take an array the last parameter.
113/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6835Consider using varargs for methods or constructors which take an array the last parameter.
114/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6882Consider using varargs for methods or constructors which take an array the last parameter.
115/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6968Avoid reassigning parameters such as 'startIndexInclusive'
116/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6971Avoid reassigning parameters such as 'endIndexExclusive'
117/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java6977Avoid reassigning parameters such as 'offset'
118/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7047Avoid reassigning parameters such as 'startIndexInclusive'
119/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7050Avoid reassigning parameters such as 'endIndexExclusive'
120/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7056Avoid reassigning parameters such as 'offset'
121/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7126Avoid reassigning parameters such as 'startIndexInclusive'
122/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7129Avoid reassigning parameters such as 'endIndexExclusive'
123/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7135Avoid reassigning parameters such as 'offset'
124/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7205Avoid reassigning parameters such as 'startIndexInclusive'
125/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7208Avoid reassigning parameters such as 'endIndexExclusive'
126/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7214Avoid reassigning parameters such as 'offset'
127/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7284Avoid reassigning parameters such as 'startIndexInclusive'
128/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7287Avoid reassigning parameters such as 'endIndexExclusive'
129/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7293Avoid reassigning parameters such as 'offset'
130/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7363Avoid reassigning parameters such as 'startIndexInclusive'
131/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7366Avoid reassigning parameters such as 'endIndexExclusive'
132/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7372Avoid reassigning parameters such as 'offset'
133/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7442Avoid reassigning parameters such as 'startIndexInclusive'
134/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7445Avoid reassigning parameters such as 'endIndexExclusive'
135/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7451Avoid reassigning parameters such as 'offset'
136/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7523Avoid reassigning parameters such as 'startIndexInclusive'
137/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7526Avoid reassigning parameters such as 'endIndexExclusive'
138/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7532Avoid reassigning parameters such as 'offset'
139/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7602Avoid reassigning parameters such as 'startIndexInclusive'
140/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7605Avoid reassigning parameters such as 'endIndexExclusive'
141/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7611Avoid reassigning parameters such as 'offset'
142/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7642Consider using varargs for methods or constructors which take an array the last parameter.
143/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7692Consider using varargs for methods or constructors which take an array the last parameter.
144/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7717Consider using varargs for methods or constructors which take an array the last parameter.
145/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7742Consider using varargs for methods or constructors which take an array the last parameter.
146/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7767Consider using varargs for methods or constructors which take an array the last parameter.
147/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7792Consider using varargs for methods or constructors which take an array the last parameter.
148/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7817Consider using varargs for methods or constructors which take an array the last parameter.
149/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7842Consider using varargs for methods or constructors which take an array the last parameter.
150/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7885Avoid reassigning parameters such as 'startIndexInclusive'
151/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7888Avoid reassigning parameters such as 'endIndexExclusive'
152/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7925Avoid reassigning parameters such as 'startIndexInclusive'
153/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7928Avoid reassigning parameters such as 'endIndexExclusive'
154/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7965Avoid reassigning parameters such as 'startIndexInclusive'
155/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java7968Avoid reassigning parameters such as 'endIndexExclusive'
156/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8005Avoid reassigning parameters such as 'startIndexInclusive'
157/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8008Avoid reassigning parameters such as 'endIndexExclusive'
158/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8045Avoid reassigning parameters such as 'startIndexInclusive'
159/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8048Avoid reassigning parameters such as 'endIndexExclusive'
160/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8085Avoid reassigning parameters such as 'startIndexInclusive'
161/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8088Avoid reassigning parameters such as 'endIndexExclusive'
162/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8125Avoid reassigning parameters such as 'startIndexInclusive'
163/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8128Avoid reassigning parameters such as 'endIndexExclusive'
164/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8165Avoid reassigning parameters such as 'startIndexInclusive'
165/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8168Avoid reassigning parameters such as 'endIndexExclusive'
166/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8216Avoid reassigning parameters such as 'startIndexInclusive'
167/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8219Avoid reassigning parameters such as 'endIndexExclusive'
168/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8292Avoid reassigning parameters such as 'offset1'
169/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8295Avoid reassigning parameters such as 'offset2'
170/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8297Avoid reassigning parameters such as 'len'
171/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8363Avoid reassigning parameters such as 'offset1'
172/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8366Avoid reassigning parameters such as 'offset2'
173/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8368Avoid reassigning parameters such as 'len'
174/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8433Avoid reassigning parameters such as 'offset1'
175/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8436Avoid reassigning parameters such as 'offset2'
176/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8438Avoid reassigning parameters such as 'len'
177/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8503Avoid reassigning parameters such as 'offset1'
178/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8506Avoid reassigning parameters such as 'offset2'
179/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8508Avoid reassigning parameters such as 'len'
180/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8573Avoid reassigning parameters such as 'offset1'
181/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8576Avoid reassigning parameters such as 'offset2'
182/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8578Avoid reassigning parameters such as 'len'
183/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8644Avoid reassigning parameters such as 'offset1'
184/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8647Avoid reassigning parameters such as 'offset2'
185/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8649Avoid reassigning parameters such as 'len'
186/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8715Avoid reassigning parameters such as 'offset1'
187/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8718Avoid reassigning parameters such as 'offset2'
188/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8720Avoid reassigning parameters such as 'len'
189/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8787Avoid reassigning parameters such as 'offset1'
190/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8790Avoid reassigning parameters such as 'offset2'
191/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8792Avoid reassigning parameters such as 'len'
192/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8857Avoid reassigning parameters such as 'offset1'
193/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8860Avoid reassigning parameters such as 'offset2'
194/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8865Avoid reassigning parameters such as 'len'
195/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8943Consider using varargs for methods or constructors which take an array the last parameter.
196/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java8978Consider using varargs for methods or constructors which take an array the last parameter.
197/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9020Consider using varargs for methods or constructors which take an array the last parameter.
198/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9041Consider using varargs for methods or constructors which take an array the last parameter.
199/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9062Consider using varargs for methods or constructors which take an array the last parameter.
200/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9083Consider using varargs for methods or constructors which take an array the last parameter.
201/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9104Consider using varargs for methods or constructors which take an array the last parameter.
202/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9125Consider using varargs for methods or constructors which take an array the last parameter.
203/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9149Consider using varargs for methods or constructors which take an array the last parameter.
204/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9243Consider using varargs for methods or constructors which take an array the last parameter.
205/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9290Consider using varargs for methods or constructors which take an array the last parameter.
206/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9337Consider using varargs for methods or constructors which take an array the last parameter.
207/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9384Consider using varargs for methods or constructors which take an array the last parameter.
208/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9431Consider using varargs for methods or constructors which take an array the last parameter.
209/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9520Consider using varargs for methods or constructors which take an array the last parameter.
210/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9603Consider using varargs for methods or constructors which take an array the last parameter.
211/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ArrayUtils.java9652Document empty constructor
212/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java31All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
213/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java31Possible God Class (WMC=168, ATFD=39, TCC=0.581%)
214/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java128New exception is thrown in catch block, original stack trace may be lost
215/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java307New exception is thrown in catch block, original stack trace may be lost
216/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java449Use equals() to compare object references.
217/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java467Use equals() to compare object references.
218/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java469Use equals() to compare object references.
219/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java1125New exception is thrown in catch block, original stack trace may be lost
220/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/BooleanUtils.java1136Document empty constructor
221/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharEncoding.java40All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
222/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharRange.java72Avoid reassigning parameters such as 'start'
223/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharRange.java73Avoid reassigning parameters such as 'end'
224/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java26All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
225/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java37Document empty constructor
226/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java104Avoid reassigning parameters such as 'start'
227/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java191Avoid reassigning parameters such as 'start'
228/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java220Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
229/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java248Avoid reassigning parameters such as 'start'
230/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSet.java155getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review
231/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSet.java178Overridable method 'add' called during object construction
232/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSetUtils.java30All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
233/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSetUtils.java103Consider using varargs for methods or constructors which take an array the last parameter.
234/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSetUtils.java226Deeply nested if..then statements are hard to read
235/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharSetUtils.java246Document empty constructor
236/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharUtils.java29All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
237/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/CharUtils.java73Document empty constructor
238/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Charsets.java35All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
239/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassLoaderUtils.java28All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
240/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassPathUtils.java27All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
241/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassPathUtils.java37Document empty constructor
242/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java46All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
243/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java46Possible God Class (WMC=167, ATFD=107, TCC=0.325%)
244/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java163Document empty constructor
245/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java239Avoid reassigning parameters such as 'className'
246/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java415Avoid reassigning parameters such as 'className'
247/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java620Avoid reassigning parameters such as 'cls'
248/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java759Avoid reassigning parameters such as 'classArray'
249/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java762Avoid reassigning parameters such as 'toClassArray'
250/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java876Avoid reassigning parameters such as 'cls'
251/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java1199Avoid reassigning parameters such as 'className'
252/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ClassUtils.java1443Avoid reassigning parameters such as 'className'
253/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java64All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
254/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java64Possible God Class (WMC=348, ATFD=48, TCC=0.116%)
255/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java290Consider using varargs for methods or constructors which take an array the last parameter.
256/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java315Deeply nested if..then statements are hard to read
257/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java352Consider using varargs for methods or constructors which take an array the last parameter.
258/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java382Deeply nested if..then statements are hard to read
259/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java419Consider using varargs for methods or constructors which take an array the last parameter.
260/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java447Avoid reassigning parameters such as 'src'
261/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java448Avoid reassigning parameters such as 'srcPos'
262/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Conversion.java451Deeply nested if..then statements are hard to read
263/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/EnumUtils.java34All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
264/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/EnumUtils.java377Document empty constructor
265/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Functions.java72All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
266/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Functions.java72Possible God Class (WMC=48, ATFD=17, TCC=0.000%)
267/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/LocaleUtils.java38All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
268/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/LocaleUtils.java38Possible God Class (WMC=59, ATFD=44, TCC=0.000%)
269/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/LocaleUtils.java55Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
270/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/LocaleUtils.java59Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
271/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/LocaleUtils.java358Document empty constructor
272/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java52All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
273/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java52Possible God Class (WMC=111, ATFD=52, TCC=1.010%)
274/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java80Document empty constructor
275/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java93Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
276/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java110Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
277/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java269New exception is thrown in catch block, original stack trace may be lost
278/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java330Use equals() to compare object references.
279/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java630Use equals() to compare object references.
280/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ObjectUtils.java1347Document empty constructor
281/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java49All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
282/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java49Possible God Class (WMC=55, ATFD=11, TCC=3.509%)
283/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java66Document empty constructor
284/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java374Avoid reassigning parameters such as 'end'
285/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java375Avoid if (x != y) ..; else ..;
286/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java379Avoid reassigning parameters such as 'start'
287/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java397Avoid reassigning parameters such as 'count'
288/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomStringUtils.java402Switch statements should be exhaustive, add a default case (or missing enum branches)
289/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomUtils.java34All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
290/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RandomUtils.java54Document empty constructor
291/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Range.java135Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
292/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Range.java140Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
293/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Range.java145Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
294/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Range.java150Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
295/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Range.java155Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
296/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/RegExUtils.java26All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
297/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/SerializationException.java40Document empty constructor
298/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/SerializationUtils.java47All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
299/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/SerializationUtils.java285Document empty constructor
300/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Streams.java68All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
301/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java44All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
302/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java290Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
303/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java313Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
304/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java324Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
305/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java335Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
306/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java351Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
307/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java368Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
308/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java384Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
309/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringEscapeUtils.java430Document empty constructor
310/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java123All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
311/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java123Possible God Class (WMC=994, ATFD=143, TCC=5.155%)
312/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java358Avoid reassigning parameters such as 'offset'
313/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java624Avoid reassigning parameters such as 'str'
314/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java660Avoid reassigning parameters such as 'padStr'
315/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java667Avoid reassigning parameters such as 'str'
316/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java866Use equals() to compare object references.
317/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java959Use equals() to compare object references.
318/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java1707Use equals() to compare object references.
319/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java1799Use equals() to compare object references.
320/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java1903Use equals() to compare object references.
321/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java2350Avoid reassigning parameters such as 's'
322/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java2351Avoid reassigning parameters such as 't'
323/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java2491Avoid reassigning parameters such as 's'
324/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java2492Avoid reassigning parameters such as 't'
325/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java3072Use equals() to compare object references.
326/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java3156Avoid reassigning parameters such as 'startPos'
327/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5159Avoid reassigning parameters such as 'startPos'
328/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5333Avoid reassigning parameters such as 'padStr'
329/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5397When doing a String.toLowerCase()/toUpperCase() call, use a Locale
330/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5513Avoid reassigning parameters such as 'pos'
331/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5725Avoid reassigning parameters such as 'overlay'
332/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5729Avoid reassigning parameters such as 'start'
333/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java5735Avoid reassigning parameters such as 'end'
334/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java6434Avoid reassigning parameters such as 'searchString'
335/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java6434When doing a String.toLowerCase()/toUpperCase() call, use a Locale
336/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java6448Avoid reassigning parameters such as 'max'
337/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java6580Avoid reassigning parameters such as 'replaceChars'
338/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java6643Consider using varargs for methods or constructors which take an array the last parameter.
339/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java6865Consider using varargs for methods or constructors which take an array the last parameter.
340/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java7258Avoid reassigning parameters such as 'padStr'
341/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java8068Use equals() to compare object references.
342/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java8191Avoid reassigning parameters such as 'str'
343/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java8425Avoid reassigning parameters such as 'str'
344/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java8460Avoid reassigning parameters such as 'start'
345/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java8515Avoid reassigning parameters such as 'end'
346/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java8518Avoid reassigning parameters such as 'start'
347/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java9432When doing a String.toLowerCase()/toUpperCase() call, use a Locale
348/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java9466Consider using varargs for methods or constructors which take an array the last parameter.
349/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/StringUtils.java9647Document empty constructor
350/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/SystemUtils.java35All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
351/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/SystemUtils.java1942Document empty constructor
352/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ThreadUtils.java39All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
353/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ThreadUtils.java148Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
354/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/ThreadUtils.java467Document empty constructor
355/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Validate.java47All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
356/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Validate.java47Possible God Class (WMC=143, ATFD=24, TCC=0.853%)
357/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Validate.java82Document empty constructor
358/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Validate.java270Consider using varargs for methods or constructors which take an array the last parameter.
359/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/Validate.java527Consider using varargs for methods or constructors which take an array the last parameter.
360/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java96Possible God Class (WMC=142, ATFD=65, TCC=28.947%)
361/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java282Use equals() to compare object references.
362/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java318Consider using varargs for methods or constructors which take an array the last parameter.
363/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java333New exception is thrown in catch block, original stack trace may be lost
364/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java409Use equals() to compare object references.
365/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java630Consider using varargs for methods or constructors which take an array the last parameter.
366/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java661Use equals() to compare object references.
367/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java697Consider using varargs for methods or constructors which take an array the last parameter.
368/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java701Use equals() to compare object references.
369/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java737Consider using varargs for methods or constructors which take an array the last parameter.
370/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java741Use equals() to compare object references.
371/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java777Consider using varargs for methods or constructors which take an array the last parameter.
372/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java781Use equals() to compare object references.
373/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java817Consider using varargs for methods or constructors which take an array the last parameter.
374/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java821Use equals() to compare object references.
375/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java861Use equals() to compare object references.
376/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java897Consider using varargs for methods or constructors which take an array the last parameter.
377/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java901Use equals() to compare object references.
378/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java937Consider using varargs for methods or constructors which take an array the last parameter.
379/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java941Use equals() to compare object references.
380/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java977Consider using varargs for methods or constructors which take an array the last parameter.
381/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java981Use equals() to compare object references.
382/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java116Use equals() to compare object references.
383/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java207Consider using varargs for methods or constructors which take an array the last parameter.
384/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java365Consider using varargs for methods or constructors which take an array the last parameter.
385/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java445Consider using varargs for methods or constructors which take an array the last parameter.
386/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java525Consider using varargs for methods or constructors which take an array the last parameter.
387/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java605Consider using varargs for methods or constructors which take an array the last parameter.
388/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java685Consider using varargs for methods or constructors which take an array the last parameter.
389/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java765Consider using varargs for methods or constructors which take an array the last parameter.
390/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java810Use equals() to compare object references.
391/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java889Consider using varargs for methods or constructors which take an array the last parameter.
392/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java89Possible God Class (WMC=162, ATFD=61, TCC=24.798%)
393/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java214Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
394/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java216Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
395/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java217Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
396/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java218Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
397/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java219Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
398/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java220Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
399/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java453Use equals() to compare object references.
400/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java499Use equals() to compare object references.
401/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java590New exception is thrown in catch block, original stack trace may be lost
402/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java633Use equals() to compare object references.
403/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java664Avoid if (x != y) ..; else ..;
404/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java835Consider using varargs for methods or constructors which take an array the last parameter.
405/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java839Use equals() to compare object references.
406/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java866Consider using varargs for methods or constructors which take an array the last parameter.
407/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java870Use equals() to compare object references.
408/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java897Consider using varargs for methods or constructors which take an array the last parameter.
409/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java901Use equals() to compare object references.
410/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java928Consider using varargs for methods or constructors which take an array the last parameter.
411/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java932Use equals() to compare object references.
412/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java959Consider using varargs for methods or constructors which take an array the last parameter.
413/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java963Use equals() to compare object references.
414/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java994Use equals() to compare object references.
415/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java1021Consider using varargs for methods or constructors which take an array the last parameter.
416/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java1025Use equals() to compare object references.
417/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java1052Consider using varargs for methods or constructors which take an array the last parameter.
418/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java1056Use equals() to compare object references.
419/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java1083Consider using varargs for methods or constructors which take an array the last parameter.
420/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java1087Use equals() to compare object references.
421/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java105Possible God Class (WMC=80, ATFD=21, TCC=19.667%)
422/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java187Consider using varargs for methods or constructors which take an array the last parameter.
423/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java208New exception is thrown in catch block, original stack trace may be lost
424/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java534Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
425/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java539Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
426/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java610Consider using varargs for methods or constructors which take an array the last parameter.
427/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java682Consider using varargs for methods or constructors which take an array the last parameter.
428/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java715Consider using varargs for methods or constructors which take an array the last parameter.
429/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java749Consider using varargs for methods or constructors which take an array the last parameter.
430/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java783Consider using varargs for methods or constructors which take an array the last parameter.
431/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java821Consider using varargs for methods or constructors which take an array the last parameter.
432/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java897Consider using varargs for methods or constructors which take an array the last parameter.
433/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java931Consider using varargs for methods or constructors which take an array the last parameter.
434/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/IDKey.java70Use equals() to compare object references.
435/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/RecursiveToStringStyle.java65Document empty constructor
436/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionDiffBuilder.java121New exception is thrown in catch block, original stack trace may be lost
437/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java103Possible God Class (WMC=56, ATFD=28, TCC=1.846%)
438/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java413Consider using varargs for methods or constructors which take an array the last parameter.
439/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java444Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
440/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java449Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
441/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java454Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
442/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java461Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
443/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java466Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
444/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java555Overridable method 'setUpToClass' called during object construction
445/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java556Overridable method 'setAppendTransients' called during object construction
446/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java557Overridable method 'setAppendStatics' called during object construction
447/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java586Overridable method 'setUpToClass' called during object construction
448/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java587Overridable method 'setAppendTransients' called during object construction
449/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java588Overridable method 'setAppendStatics' called during object construction
450/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java589Overridable method 'setExcludeNullValues' called during object construction
451/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java661New exception is thrown in catch block, original stack trace may be lost
452/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/StandardToStringStyle.java42Document empty constructor
453/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java205Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
454/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java209Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
455/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java213Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
456/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java251Avoid reassigning parameters such as 'style'
457/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java254Avoid reassigning parameters such as 'buffer'
458/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java286Consider using varargs for methods or constructors which take an array the last parameter.
459/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java342Consider using varargs for methods or constructors which take an array the last parameter.
460/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java370Consider using varargs for methods or constructors which take an array the last parameter.
461/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java398Consider using varargs for methods or constructors which take an array the last parameter.
462/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java426Consider using varargs for methods or constructors which take an array the last parameter.
463/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java454Consider using varargs for methods or constructors which take an array the last parameter.
464/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java482Consider using varargs for methods or constructors which take an array the last parameter.
465/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java510Consider using varargs for methods or constructors which take an array the last parameter.
466/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java536Consider using varargs for methods or constructors which take an array the last parameter.
467/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java627Consider using varargs for methods or constructors which take an array the last parameter.
468/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java673Consider using varargs for methods or constructors which take an array the last parameter.
469/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java719Consider using varargs for methods or constructors which take an array the last parameter.
470/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java765Consider using varargs for methods or constructors which take an array the last parameter.
471/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java811Consider using varargs for methods or constructors which take an array the last parameter.
472/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java872Consider using varargs for methods or constructors which take an array the last parameter.
473/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java918Consider using varargs for methods or constructors which take an array the last parameter.
474/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java69Possible God Class (WMC=213, ATFD=45, TCC=3.406%)
475/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java246Deeply nested if..then statements are hard to read
476/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java256Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
477/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java261Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
478/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java266Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
479/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java271Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
480/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java276Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
481/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java281Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
482/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java286Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
483/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java291Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
484/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java296Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
485/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java301Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
486/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java306Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
487/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java311Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
488/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java316Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
489/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java321Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
490/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java327Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
491/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java332Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
492/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java337Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
493/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java342Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
494/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java347Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
495/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java352Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
496/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java359Document empty constructor
497/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java393Deeply nested if..then statements are hard to read
498/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java917Consider using varargs for methods or constructors which take an array the last parameter.
499/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java975Consider using varargs for methods or constructors which take an array the last parameter.
500/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1016Consider using varargs for methods or constructors which take an array the last parameter.
501/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1036Consider using varargs for methods or constructors which take an array the last parameter.
502/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1077Consider using varargs for methods or constructors which take an array the last parameter.
503/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1097Consider using varargs for methods or constructors which take an array the last parameter.
504/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1138Consider using varargs for methods or constructors which take an array the last parameter.
505/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1158Consider using varargs for methods or constructors which take an array the last parameter.
506/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1260Consider using varargs for methods or constructors which take an array the last parameter.
507/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1280Consider using varargs for methods or constructors which take an array the last parameter.
508/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1321Consider using varargs for methods or constructors which take an array the last parameter.
509/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1341Consider using varargs for methods or constructors which take an array the last parameter.
510/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1382Consider using varargs for methods or constructors which take an array the last parameter.
511/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1402Consider using varargs for methods or constructors which take an array the last parameter.
512/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1443Consider using varargs for methods or constructors which take an array the last parameter.
513/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1463Consider using varargs for methods or constructors which take an array the last parameter.
514/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1765Avoid reassigning parameters such as 'arrayStart'
515/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1791Avoid reassigning parameters such as 'arrayEnd'
516/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1817Avoid reassigning parameters such as 'arraySeparator'
517/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1843Avoid reassigning parameters such as 'contentStart'
518/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1869Avoid reassigning parameters such as 'contentEnd'
519/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1895Avoid reassigning parameters such as 'fieldNameValueSeparator'
520/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1921Avoid reassigning parameters such as 'fieldSeparator'
521/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java1995Avoid reassigning parameters such as 'nullText'
522/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java2027Avoid reassigning parameters such as 'sizeStartText'
523/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java2059Avoid reassigning parameters such as 'sizeEndText'
524/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java2091Avoid reassigning parameters such as 'summaryObjectStartText'
525/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java2123Avoid reassigning parameters such as 'summaryObjectEndText'
526/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java2150Document empty constructor
527/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/compare/ComparableUtils.java30A class which only has private constructors should be final
528/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java115Overridable method 'isStarted' called during object construction (call stack: [setExternalExecutor, isStarted])
529/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java123Use block level rather than method level synchronization
530/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java134Use block level rather than method level synchronization
531/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java152Use block level rather than method level synchronization
532/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java172Use block level rather than method level synchronization
533/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java230Use block level rather than method level synchronization
534/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BackgroundInitializer.java247Use block level rather than method level synchronization
535/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/BasicThreadFactory.java91A class which only has private constructors should be final
536/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/CircuitBreakingException.java35Document empty constructor
537/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentException.java43Document empty constructor
538/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentRuntimeException.java45Document empty constructor
539/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentUtils.java34A class which only has private constructors should be final
540/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentUtils.java203New exception is thrown in catch block, original stack trace may be lost
541/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentUtils.java304New exception is thrown in catch block, original stack trace may be lost
542/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/EventCountCircuitBreaker.java351Use equals() to compare object references.
543/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/Memoizer.java135New exception is thrown in catch block, original stack trace may be lost
544/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/MultiBackgroundInitializer.java108Document empty constructor
545/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java241Use block level rather than method level synchronization
546/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java255Use block level rather than method level synchronization
547/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java264Use block level rather than method level synchronization
548/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java287Use block level rather than method level synchronization
549/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java302Use block level rather than method level synchronization
550/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java325Use block level rather than method level synchronization
551/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java340Use block level rather than method level synchronization
552/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java350Use block level rather than method level synchronization
553/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java365Use block level rather than method level synchronization
554/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java378Use block level rather than method level synchronization
555/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/TimedSemaphore.java428Use block level rather than method level synchronization
556/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/concurrent/locks/LockingVisitors.java82All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
557/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/event/EventListenerSupport.java147Overridable method 'createInvocationHandler' called during object construction (call stack: [initializeTransientFields, createProxy, createInvocationHandler])
558/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/event/EventUtils.java35All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
559/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/event/EventUtils.java51New exception is thrown in catch block, original stack trace may be lost
560/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/event/EventUtils.java55New exception is thrown in catch block, original stack trace may be lost
561/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/event/EventUtils.java59New exception is thrown in catch block, original stack trace may be lost
562/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/event/EventUtils.java93Consider using varargs for methods or constructors which take an array the last parameter.
563/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ContextedException.java150Avoid reassigning parameters such as 'context'
564/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ContextedRuntimeException.java150Avoid reassigning parameters such as 'context'
565/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java40All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
566/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java40Possible God Class (WMC=94, ATFD=31, TCC=0.379%)
567/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java118Consider using varargs for methods or constructors which take an array the last parameter.
568/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java129Avoid reassigning parameters such as 'methodNames'
569/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java417Avoid reassigning parameters such as 'throwable'
570/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java462Avoid reassigning parameters such as 'chain'
571/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java483Avoid reassigning parameters such as 'fromIndex'
572/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java780Avoid reassigning parameters such as 'fromIndex'
573/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java940Document empty constructor
574/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/function/Failable.java69A class which only has private constructors should be final
575/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/function/Failable.java69Possible God Class (WMC=65, ATFD=25, TCC=0.000%)
576/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java36Possible God Class (WMC=146, ATFD=42, TCC=32.008%)
577/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java149Avoid reassigning parameters such as 'numerator'
578/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java150Avoid reassigning parameters such as 'denominator'
579/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java216Avoid reassigning parameters such as 'numerator'
580/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java217Avoid reassigning parameters such as 'denominator'
581/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java249Avoid reassigning parameters such as 'value'
582/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java325Avoid reassigning parameters such as 'str'
583/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java581Avoid reassigning parameters such as 'u'
584/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java584Avoid reassigning parameters such as 'v'
585/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/Fraction.java861Use equals() to compare object references.
586/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/IEEE754rUtils.java28All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
587/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java32All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
588/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java32Possible God Class (WMC=279, ATFD=61, TCC=0.280%)
589/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java95Document empty constructor
590/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1338Avoid reassigning parameters such as 'a'
591/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1356Avoid reassigning parameters such as 'a'
592/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1374Avoid reassigning parameters such as 'a'
593/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1392Avoid reassigning parameters such as 'a'
594/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1444Avoid reassigning parameters such as 'a'
595/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1462Avoid reassigning parameters such as 'a'
596/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1480Avoid reassigning parameters such as 'a'
597/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/math/NumberUtils.java1498Avoid reassigning parameters such as 'a'
598/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableBoolean.java47Document empty constructor
599/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableByte.java44Document empty constructor
600/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableDouble.java42Document empty constructor
601/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableFloat.java42Document empty constructor
602/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableInt.java44Document empty constructor
603/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableLong.java44Document empty constructor
604/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableObject.java43Document empty constructor
605/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/mutable/MutableShort.java44Document empty constructor
606/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java47All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
607/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java57Document empty constructor
608/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java107Consider using varargs for methods or constructors which take an array the last parameter.
609/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java110Avoid reassigning parameters such as 'args'
610/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java111Avoid reassigning parameters such as 'parameterTypes'
611/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java172Consider using varargs for methods or constructors which take an array the last parameter.
612/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java174Avoid reassigning parameters such as 'args'
613/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java175Avoid reassigning parameters such as 'parameterTypes'
614/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java270Deeply nested if..then statements are hard to read
615/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java42All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
616/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java42Possible God Class (WMC=57, ATFD=78, TCC=0.000%)
617/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java50Document empty constructor
618/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/InheritanceUtils.java26All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
619/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/InheritanceUtils.java36Document empty constructor
620/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java33This abstract class does not have any abstract methods
621/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java102Consider using varargs for methods or constructors which take an array the last parameter.
622/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java119Consider using varargs for methods or constructors which take an array the last parameter.
623/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java135Consider using varargs for methods or constructors which take an array the last parameter.
624/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java210Avoid reassigning parameters such as 'srcClass'
625/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java251Consider using varargs for methods or constructors which take an array the last parameter.
626/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java255Consider using varargs for methods or constructors which take an array the last parameter.
627/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MemberUtils.java259Consider using varargs for methods or constructors which take an array the last parameter.
628/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java64All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
629/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java64Possible God Class (WMC=113, ATFD=119, TCC=0.000%)
630/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java76Document empty constructor
631/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java207Consider using varargs for methods or constructors which take an array the last parameter.
632/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java209Avoid reassigning parameters such as 'parameterTypes'
633/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java210Avoid reassigning parameters such as 'args'
634/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java258Consider using varargs for methods or constructors which take an array the last parameter.
635/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java333Consider using varargs for methods or constructors which take an array the last parameter.
636/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java336Avoid reassigning parameters such as 'args'
637/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java337Avoid reassigning parameters such as 'parameterTypes'
638/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java368Consider using varargs for methods or constructors which take an array the last parameter.
639/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java371Avoid reassigning parameters such as 'args'
640/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java372Avoid reassigning parameters such as 'parameterTypes'
641/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java436Consider using varargs for methods or constructors which take an array the last parameter.
642/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java439Avoid reassigning parameters such as 'args'
643/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java440Avoid reassigning parameters such as 'parameterTypes'
644/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java451Consider using varargs for methods or constructors which take an array the last parameter.
645/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java454Avoid reassigning parameters such as 'args'
646/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java469Consider using varargs for methods or constructors which take an array the last parameter.
647/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java571Avoid reassigning parameters such as 'method'
648/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java626Avoid reassigning parameters such as 'cls'
649/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java798Consider using varargs for methods or constructors which take an array the last parameter.
650/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/MethodUtils.java1027Use opposite operator instead of the logic complement operator.
651/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java47All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
652/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java47Possible God Class (WMC=263, ATFD=129, TCC=0.000%)
653/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java114Consider using varargs for methods or constructors which take an array the last parameter.
654/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java231Consider using varargs for methods or constructors which take an array the last parameter.
655/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java285Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
656/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java309Consider using varargs for methods or constructors which take an array the last parameter.
657/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java516Consider using varargs for methods or constructors which take an array the last parameter.
658/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java552Consider using varargs for methods or constructors which take an array the last parameter.
659/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java835Avoid reassigning parameters such as 'cls'
660/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java1511Consider using varargs for methods or constructors which take an array the last parameter.
661/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java1524Use equals() to compare object references.
662/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java1787Consider using varargs for methods or constructors which take an array the last parameter.
663/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java1816Avoid reassigning parameters such as 'typeVariable'
664/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java1834Avoid reassigning parameters such as 'typeArguments'
665/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java1929Document empty constructor
666/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/stream/Streams.java67All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
667/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/ExtendedMessageFormat.java74Possible God Class (WMC=81, ATFD=45, TCC=14.706%)
668/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/ExtendedMessageFormat.java162A switch statement does not contain a break
669/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/ExtendedMessageFormat.java414A switch statement does not contain a break
670/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/FormattableUtils.java41All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
671/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/FormattableUtils.java56Document empty constructor
672/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java81Possible God Class (WMC=435, ATFD=46, TCC=27.108%)
673/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java119Avoid reassigning parameters such as 'initialCapacity'
674/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java135Overridable method 'append' called during object construction
675/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java135Overridable method 'append' called during object construction
676/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java135Overridable method 'append' called during object construction
677/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java178Avoid reassigning parameters such as 'nullText'
678/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java393Avoid reassigning parameters such as 'endIndex'
679/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java409Consider using varargs for methods or constructors which take an array the last parameter.
680/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java412Avoid reassigning parameters such as 'destination'
681/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java456Ensure that resources like this Reader object are closed after use
682/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java851Consider using varargs for methods or constructors which take an array the last parameter.
683/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java1110Consider using varargs for methods or constructors which take an array the last parameter.
684/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java1630Avoid reassigning parameters such as 'str'
685/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java1654Consider using varargs for methods or constructors which take an array the last parameter.
686/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java1713Avoid reassigning parameters such as 'index'
687/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java1820Avoid reassigning parameters such as 'endIndex'
688/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java1968Avoid reassigning parameters such as 'endIndex'
689/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2105Avoid reassigning parameters such as 'endIndex'
690/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2136Avoid reassigning parameters such as 'to'
691/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2139Avoid reassigning parameters such as 'replaceCount'
692/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2296Avoid reassigning parameters such as 'endIndex'
693/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2362Avoid reassigning parameters such as 'index'
694/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2434Avoid reassigning parameters such as 'startIndex'
695/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2470Avoid reassigning parameters such as 'startIndex'
696/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2525Avoid reassigning parameters such as 'startIndex'
697/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2558Avoid reassigning parameters such as 'startIndex'
698/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2593Avoid reassigning parameters such as 'startIndex'
699/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2646Avoid reassigning parameters such as 'startIndex'
700/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2780Use equals() to compare object references.
701/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2914Avoid reassigning parameters such as 'endIndex'
702/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2943Document empty constructor
703/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2979Document empty constructor
704/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java2991Avoid unnecessary comparisons in boolean expressions
705/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java3011Avoid reassigning parameters such as 'len'
706/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java3022Avoid reassigning parameters such as 'n'
707/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrBuilder.java3065Document empty constructor
708/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrLookup.java96Document empty constructor
709/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrMatcher.java220Document empty constructor
710/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrMatcher.java287Consider using varargs for methods or constructors which take an array the last parameter.
711/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrMatcher.java370Avoid reassigning parameters such as 'pos'
712/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrMatcher.java394Document empty constructor
713/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrMatcher.java421Document empty constructor
714/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java129Possible God Class (WMC=111, ATFD=14, TCC=0.707%)
715/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java327Overridable method 'setVariableResolver' called during object construction
716/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java328Overridable method 'setVariablePrefix' called during object construction
717/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java329Overridable method 'setVariableSuffix' called during object construction
718/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java330Overridable method 'setEscapeChar' called during object construction
719/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java331Overridable method 'setValueDelimiterMatcher' called during object construction
720/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java347Overridable method 'setVariableResolver' called during object construction
721/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java348Overridable method 'setVariablePrefix' called during object construction
722/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java349Overridable method 'setVariableSuffix' called during object construction
723/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java350Overridable method 'setEscapeChar' called during object construction
724/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java351Overridable method 'setValueDelimiter' called during object construction
725/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java383Overridable method 'setVariableResolver' called during object construction
726/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java384Overridable method 'setVariablePrefixMatcher' called during object construction
727/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java385Overridable method 'setVariableSuffixMatcher' called during object construction
728/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java386Overridable method 'setEscapeChar' called during object construction
729/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java387Overridable method 'setValueDelimiterMatcher' called during object construction
730/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java403Avoid unnecessary comparisons in boolean expressions
731/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java426Avoid unnecessary comparisons in boolean expressions
732/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java441Consider using varargs for methods or constructors which take an array the last parameter.
733/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java643Avoid unnecessary comparisons in boolean expressions
734/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java686Avoid unnecessary comparisons in boolean expressions
735/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java830Deeply nested if..then statements are hard to read
736/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java834Deeply nested if..then statements are hard to read
737/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java844Avoid reassigning parameters such as 'priorVariables'
738/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrSubstitutor.java899Avoid unnecessary comparisons in boolean expressions
739/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java90Possible God Class (WMC=112, ATFD=13, TCC=6.118%)
740/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java181Consider using varargs for methods or constructors which take an array the last parameter.
741/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java229Consider using varargs for methods or constructors which take an array the last parameter.
742/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java268Overridable method 'setDelimiterChar' called during object construction
743/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java279Overridable method 'setDelimiterString' called during object construction
744/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java290Overridable method 'setDelimiterMatcher' called during object construction
745/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java303Overridable method 'setQuoteChar' called during object construction
746/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java316Overridable method 'setQuoteMatcher' called during object construction
747/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java325Consider using varargs for methods or constructors which take an array the last parameter.
748/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java337Overridable method 'setDelimiterChar' called during object construction
749/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java348Overridable method 'setDelimiterString' called during object construction
750/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java359Overridable method 'setDelimiterMatcher' called during object construction
751/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java372Overridable method 'setQuoteChar' called during object construction
752/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java385Overridable method 'setQuoteMatcher' called during object construction
753/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java487Consider using varargs for methods or constructors which take an array the last parameter.
754/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java665Avoid reassigning parameters such as 'tok'
755/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/StrTokenizer.java694Avoid reassigning parameters such as 'start'
756/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java38All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
757/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java38Possible God Class (WMC=63, ATFD=23, TCC=0.000%)
758/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java48Document empty constructor
759/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java278Avoid reassigning parameters such as 'newLineStr'
760/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java281Avoid reassigning parameters such as 'wrapLength'
761/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java284Avoid reassigning parameters such as 'wrapOn'
762/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java479Avoid reassigning parameters such as 'str'
763/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java479When doing a String.toLowerCase()/toUpperCase() call, use a Locale
764/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/WordUtils.java725Consider using varargs for methods or constructors which take an array the last parameter.
765/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/CharSequenceTranslator.java99Deeply nested if..then statements are hard to read
766/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java30All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
767/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java41Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
768/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java148Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
769/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java160Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
770/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java365Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
771/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java377Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
772/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java392Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
773/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java402Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
774/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java414Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
775/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java426Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
776/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java442Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
777/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/EntityArrays.java449Consider using varargs for methods or constructors which take an array the last parameter.
778/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/text/translate/OctalUnescaper.java55Deeply nested if..then statements are hard to read
779/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DateFormatUtils.java35All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
780/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DateFormatUtils.java203Document empty constructor
781/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DateUtils.java55All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
782/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DateUtils.java55Possible God Class (WMC=177, ATFD=218, TCC=0.000%)
783/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DateUtils.java149Document empty constructor
784/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DateUtils.java1689A switch statement does not contain a break
785/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java51All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
786/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java51Possible God Class (WMC=77, ATFD=86, TCC=12.727%)
787/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java59Document empty constructor
788/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java69Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
789/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java188Deeply nested if..then statements are hard to read
790/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java207Deeply nested if..then statements are hard to read
791/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java480Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
792/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java481Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
793/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java482Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
794/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java483Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
795/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java484Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
796/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java485Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
797/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java486Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
798/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java509A switch statement does not contain a break
799/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java584Use equals() to compare object references.
800/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java591Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
801/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java592Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
802/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationFormatUtils.java662Use equals() to compare object references.
803/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/DurationUtils.java35All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
804/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java72Class contains multiple getInstance methods. Please review.
805/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java75Possible God Class (WMC=83, ATFD=24, TCC=25.541%)
806/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java444A switch statement does not contain a break
807/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java480Avoid reassigning parameters such as 'locale'
808/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java582The default label should be the last label in a switch statement
809/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java635Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
810/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java898Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
811/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1007Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
812/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1008Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
813/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1009Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
814/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1039Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
815/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1040Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
816/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1041Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
817/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1042Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
818/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1043Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
819/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1051Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
820/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1052Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
821/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1067Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
822/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1068Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
823/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1069Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
824/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDateParser.java1070Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
825/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java81Possible God Class (WMC=115, ATFD=60, TCC=8.506%)
826/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java159Overridable method 'parsePattern' called during object construction (call stack: [init, parsePattern])
827/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java327Consider using varargs for methods or constructors which take an array the last parameter.
828/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java544Avoid reassigning parameters such as 'calendar'
829/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java689Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
830/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java718A switch statement does not contain a break
831/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java718Switch statements should be exhaustive, add a default case (or missing enum branches)
832/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java721Avoid reassigning parameters such as 'value'
833/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java753Avoid reassigning parameters such as 'minFieldWidth'
834/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java880Consider using varargs for methods or constructors which take an array the last parameter.
835/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java965Document empty constructor
836/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java1097Document empty constructor
837/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java1134Document empty constructor
838/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java1307Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
839/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java1468Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
840/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FastTimeZone.java28A class which only has private constructors should be final
841/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java37Class contains multiple getInstance methods. Please review.
842/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java70getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review
843/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java73Avoid reassigning parameters such as 'timeZone'
844/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java75Avoid reassigning parameters such as 'locale'
845/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java118Avoid reassigning parameters such as 'locale'
846/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java209New exception is thrown in catch block, original stack trace may be lost
847/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java220Consider using varargs for methods or constructors which take an array the last parameter.
848/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java227Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
849/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/FormatCache.java228Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
850/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/GmtTimeZone.java103Use equals() to compare object references.
851/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java62Possible God Class (WMC=55, ATFD=34, TCC=2.536%)
852/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java195Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
853/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java200Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
854/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java205Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
855/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java210Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
856/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java217Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
857/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java224Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
858/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/StopWatch.java229Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
859/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/TimeZones.java25A class which only has private constructors should be final
860/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/time/TimeZones.java34Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
861/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java158Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
862/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java161Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
863/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java103Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
864/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java105Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
865/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java108Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
866/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java101Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
867/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java104Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
868/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java109Document empty constructor
869/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java30The class 'MutableTriple' is suspected to be a Data Class (WOC=20.000%, NOPA=4, NOAM=6, WMC=10)
870/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java78Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
871/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java80Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
872/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java83Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
873/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java88Document empty constructor
874/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/Pair.java65Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
875/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/Pair.java75Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
876/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/Triple.java64Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
877/Users/maggicl/git/commons-lang/src/main/java/org/apache/commons/lang3/tuple/Triple.java74Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
878/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java398Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
879/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java399Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
880/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java400Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
881/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/AnnotationUtilsTest.java401Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
882/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ArrayUtilsRemoveMultipleTest.java31Possible God Class (WMC=55, ATFD=811, TCC=0.000%)
883/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java46Possible God Class (WMC=346, ATFD=2,294, TCC=0.061%)
884/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java52Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
885/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java37Possible God Class (WMC=74, ATFD=272, TCC=0.000%)
886/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/CharSequenceUtilsTest.java131Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
887/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/CharUtilsTest.java36Possible God Class (WMC=57, ATFD=81, TCC=13.768%)
888/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassLoaderUtilsTest.java37it is recommended to wrap resource in try-with-resource declaration directly
889/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java52Possible God Class (WMC=70, ATFD=1,603, TCC=0.000%)
890/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java285Avoid instantiating an object just to call getClass() on it; use the .class public member instead
891/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java330Avoid instantiating an object just to call getClass() on it; use the .class public member instead
892/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java375Avoid instantiating an object just to call getClass() on it; use the .class public member instead
893/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java412Avoid instantiating an object just to call getClass() on it; use the .class public member instead
894/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java490Avoid instantiating an object just to call getClass() on it; use the .class public member instead
895/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java525Avoid instantiating an object just to call getClass() on it; use the .class public member instead
896/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java628Avoid instantiating an object just to call getClass() on it; use the .class public member instead
897/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java704Avoid instantiating an object just to call getClass() on it; use the .class public member instead
898/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java1141Avoid instantiating an object just to call getClass() on it; use the .class public member instead
899/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ConversionTest.java464Consider using varargs for methods or constructors which take an array the last parameter.
900/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java232Consider using varargs for methods or constructors which take an array the last parameter.
901/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java394Consider using varargs for methods or constructors which take an array the last parameter.
902/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java442Consider using varargs for methods or constructors which take an array the last parameter.
903/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java57Possible God Class (WMC=52, ATFD=166, TCC=3.318%)
904/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java122Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
905/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java123Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
906/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java124Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
907/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java126Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
908/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java128Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
909/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ObjectUtilsTest.java130Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
910/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java42Possible God Class (WMC=69, ATFD=54, TCC=0.000%)
911/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java445A switch statement does not contain a break
912/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/RandomStringUtilsTest.java473Consider using varargs for methods or constructors which take an array the last parameter.
913/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/RandomUtilsTest.java103Avoid unnecessary comparisons in boolean expressions
914/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/RandomUtilsTest.java103Avoid unnecessary comparisons in boolean expressions
915/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/SerializationUtilsTest.java156Ensure that resources like this OutputStream object are closed after use
916/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/StringEscapeUtilsTest.java104Avoid reassigning parameters such as 'message'
917/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/StringEscapeUtilsTest.java178Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
918/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/StringUtilsTest.java55Possible God Class (WMC=207, ATFD=521, TCC=0.778%)
919/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java53Possible God Class (WMC=52, ATFD=553, TCC=0.000%)
920/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/ThreadUtilsTest.java68Use block level rather than method level synchronization
921/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/CompareToBuilderTest.java30Possible God Class (WMC=75, ATFD=76, TCC=0.000%)
922/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/CompareToBuilderTest.java168Consider using varargs for methods or constructors which take an array the last parameter.
923/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/CompareToBuilderTest.java182Consider using varargs for methods or constructors which take an array the last parameter.
924/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/CompareToBuilderTest.java214Consider using varargs for methods or constructors which take an array the last parameter.
925/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/CompareToBuilderTest.java244Consider using varargs for methods or constructors which take an array the last parameter.
926/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/DiffBuilderTest.java94Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
927/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java34Possible God Class (WMC=80, ATFD=70, TCC=0.000%)
928/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java41Document empty constructor
929/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java649Consider using varargs for methods or constructors which take an array the last parameter.
930/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java659The class 'AcademyClass' is suspected to be a Data Class (WOC=20.000%, NOPA=0, NOAM=4, WMC=5)
931/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java30This final field could be made static
932/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java31This final field could be made static
933/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java37This final field could be made static
934/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java39This final field could be made static
935/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java43This final field could be made static
936/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java45This final field could be made static
937/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionDiffBuilderTest.java47This final field could be made static
938/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderConcurrencyTest.java62Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
939/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderConcurrencyTest.java63Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
940/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java39Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
941/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java40Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
942/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java41Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
943/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java42Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
944/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java43Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
945/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeNullValuesTest.java44Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
946/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java36This final field could be made static
947/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java39This final field could be made static
948/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java42Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
949/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java44Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
950/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java46Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
951/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeTest.java48Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
952/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeWithAnnotationTest.java33This final field could be made static
953/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeWithAnnotationTest.java36This final field could be made static
954/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeWithAnnotationTest.java39Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
955/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeWithAnnotationTest.java41Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
956/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeWithAnnotationTest.java43Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
957/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderExcludeWithAnnotationTest.java45Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
958/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderMutateInspectConcurrencyTest.java42This final field could be made static
959/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderMutateInspectConcurrencyTest.java52Use block level rather than method level synchronization
960/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderMutateInspectConcurrencyTest.java56Use block level rather than method level synchronization
961/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderSummaryTest.java26This final field could be made static
962/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ReflectionToStringBuilderSummaryTest.java29This final field could be made static
963/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ShortPrefixToStringStyleTest.java35This final field could be made static
964/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/StandardToStringStyleTest.java37This final field could be made static
965/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java36Possible God Class (WMC=102, ATFD=64, TCC=27.335%)
966/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java358This final field could be made static
967/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java360This final field could be made static
968/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java365This final field could be made static
969/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java367This final field could be made static
970/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java473Document empty constructor
971/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java503This final field could be made static
972/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringStyleConcurrencyTest.java58Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
973/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringStyleConcurrencyTest.java59Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
974/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/builder/ToStringStyleConcurrencyTest.java60Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
975/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/compare/ComparableUtilsTest.java92Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
976/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/compare/ComparableUtilsTest.java175Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
977/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/compare/ComparableUtilsTest.java258Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
978/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/compare/ComparableUtilsTest.java286Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
979/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/concurrent/BackgroundInitializerTest.java284Document empty constructor
980/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/concurrent/TimedSemaphoreTest.java447Use block level rather than method level synchronization
981/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/concurrent/TimedSemaphoreTest.java458Use block level rather than method level synchronization
982/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/concurrent/locks/LockingVisitorsTest.java40Consider using varargs for methods or constructors which take an array the last parameter.
983/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/AbstractExceptionContextTest.java40This abstract class does not have any abstract methods
984/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/AbstractExceptionTest.java23This abstract class does not have any abstract methods
985/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java47Possible God Class (WMC=58, ATFD=255, TCC=25.439%)
986/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java61Overridable method 'setCause' called during object construction
987/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java65Overridable method 'setCause' called during object construction
988/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java96Document empty constructor
989/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java118Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
990/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java121Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
991/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java123Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
992/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java125Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
993/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java129Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
994/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java131Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
995/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java141Consider simply returning the value vs storing it in local variable 't'
996/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/exception/ExceptionUtilsTest.java150Consider simply returning the value vs storing it in local variable 't'
997/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/function/FailableFunctionsTest.java45Possible God Class (WMC=143, ATFD=521, TCC=2.933%)
998/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/function/FailableFunctionsTest.java278Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
999/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/function/FailableFunctionsTest.java280Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1000/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/function/Objects.java64All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
1001/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java37Possible God Class (WMC=122, ATFD=404, TCC=0.000%)
1002/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java102Consider using varargs for methods or constructors which take an array the last parameter.
1003/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java114Document empty constructor
1004/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java119Document empty constructor
1005/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java124Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1006/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java268Consider using varargs for methods or constructors which take an array the last parameter.
1007/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/ConstructorUtilsTest.java274Consider using varargs for methods or constructors which take an array the last parameter.
1008/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java56Possible God Class (WMC=77, ATFD=744, TCC=3.980%)
1009/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java185Consider using varargs for methods or constructors which take an array the last parameter.
1010/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java60Possible God Class (WMC=55, ATFD=462, TCC=2.683%)
1011/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java114Document empty method body
1012/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java313Document empty method body
1013/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java317Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1014/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java318Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1015/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java925Consider using varargs for methods or constructors which take an array the last parameter.
1016/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java933Consider using varargs for methods or constructors which take an array the last parameter.
1017/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java947Document empty method body
1018/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java950Document empty method body
1019/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java953Document empty method body
1020/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java956Document empty method body
1021/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java959Document empty method body
1022/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java962Document empty method body
1023/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1057Document empty method body
1024/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1060Document empty method body
1025/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1063Document empty method body
1026/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1066Document empty method body
1027/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1069Document empty method body
1028/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1072Document empty method body
1029/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1075Document empty method body
1030/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1078Document empty method body
1031/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1081Document empty method body
1032/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1084Document empty method body
1033/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java1087Document empty method body
1034/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java88Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1035/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java90Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1036/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java92Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1037/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java94Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1038/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java96Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1039/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java98Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1040/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java162Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1041/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java164Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1042/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java166Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1043/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java168Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1044/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java170Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1045/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java172Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1046/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java174Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1047/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java188Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1048/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java190Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1049/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java192Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1050/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java194Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1051/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java196Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1052/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java198Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1053/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java200Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1054/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java202Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1055/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java204Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1056/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java206Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1057/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java208Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1058/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java232Consider using varargs for methods or constructors which take an array the last parameter.
1059/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java232Document empty method body
1060/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/Ambig.java24Document empty method body
1061/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/GenericParent.java25Document empty method body
1062/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/GenericParent.java29Document empty method body
1063/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/GenericParent.java32Document empty method body
1064/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/Parent.java26This final field could be made static
1065/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/Parent.java29Document empty method body
1066/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/Parent.java33Document empty method body
1067/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/Parent.java36Document empty method body
1068/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PrivatelyShadowedChild.java23This final field could be made static
1069/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PrivatelyShadowedChild.java24This final field could be made static
1070/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PrivatelyShadowedChild.java25This final field could be made static
1071/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PrivatelyShadowedChild.java26This final field could be made static
1072/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PublicChild.java25Document empty method body
1073/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PublicChild.java29Document empty method body
1074/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PublicChild.java33Document empty method body
1075/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/PublicChild.java37Document empty method body
1076/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/StaticContainer.java21All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
1077/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/StringParameterizedChild.java29Document empty method body
1078/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/StringParameterizedChild.java33Document empty method body
1079/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/StringParameterizedChild.java37Document empty method body
1080/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/reflect/testbed/StringParameterizedChild.java41Document empty method body
1081/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/test/NotVisibleExceptionFactory.java23A class which only has private constructors should be final
1082/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java337Consider using varargs for methods or constructors which take an array the last parameter.
1083/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java348Consider using varargs for methods or constructors which take an array the last parameter.
1084/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java462Avoid if (x != y) ..; else ..;
1085/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrBuilderAppendInsertTest.java35Possible God Class (WMC=51, ATFD=136, TCC=0.819%)
1086/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java45Possible God Class (WMC=94, ATFD=158, TCC=1.075%)
1087/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java1552Avoid reassigning parameters such as 'pos'
1088/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java1604Ensure that resources like this Reader object are closed after use
1089/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java1636Ensure that resources like this Reader object are closed after use
1090/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java1661Ensure that resources like this Writer object are closed after use
1091/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrSubstitutorTest.java40Possible God Class (WMC=54, ATFD=64, TCC=6.377%)
1092/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/text/StrTokenizerTest.java39Possible God Class (WMC=68, ATFD=179, TCC=0.055%)
1093/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java47Possible God Class (WMC=73, ATFD=627, TCC=6.749%)
1094/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java113Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1095/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java114Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1096/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java115Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1097/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java116Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1098/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java117Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1099/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java118Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1100/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java119Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1101/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java120Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1102/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java121Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1103/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java122Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1104/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java123Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1105/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java124Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1106/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java125Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1107/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java126Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1108/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java127Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1109/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java128Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1110/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java129Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1111/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java130Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1112/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java131Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1113/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java132Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1114/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java133Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1115/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java134Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1116/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java135Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1117/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java136Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1118/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java137Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1119/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java139Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1120/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java141Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1121/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java143Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1122/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java145Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1123/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java1548When instantiating a SimpleDateFormat object, specify a Locale
1124/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDateFormatTest.java270When instantiating a SimpleDateFormat object, specify a Locale
1125/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java122New exception is thrown in catch block, original stack trace may be lost
1126/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java54Class contains multiple getInstance methods. Please review.
1127/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java54Possible God Class (WMC=68, ATFD=277, TCC=11.739%)
1128/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java142Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1129/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java163Avoid reassigning parameters such as 'year'
1130/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java43Class contains multiple getInstance methods. Please review.
1131/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java103getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review
1132/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java181When instantiating a SimpleDateFormat object, specify a Locale
1133/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java211When instantiating a SimpleDateFormat object, specify a Locale
1134/Users/maggicl/git/commons-lang/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTimeZonesTest.java43When instantiating a SimpleDateFormat object, specify a Locale
1135/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_testBitSet_jmhTest.java276Avoid reassigning parameters such as 'startRndMask'
1136/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_testBitSet_jmhTest.java327Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1137/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_testHashSet_jmhTest.java276Avoid reassigning parameters such as 'startRndMask'
1138/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_testHashSet_jmhTest.java327Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1139/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_timeBitSetRemoveAll_jmhTest.java276Avoid reassigning parameters such as 'startRndMask'
1140/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_timeBitSetRemoveAll_jmhTest.java327Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
1141/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_timeExtractRemoveAll_jmhTest.java276Avoid reassigning parameters such as 'startRndMask'
1142/Users/maggicl/git/commons-lang/target/generated-test-sources/test-annotations/org/apache/commons/lang3/jmh_generated/HashSetvBitSetTest_timeExtractRemoveAll_jmhTest.java327Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
diff --git a/pmd_report_custom_rule.html b/pmd_report_custom_rule.html new file mode 100644 index 0000000..1757696 --- /dev/null +++ b/pmd_report_custom_rule.html @@ -0,0 +1,244 @@ +PMD +

PMD report

Problems found

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#FileLineProblem
1C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\AnnotationUtils.java45The Utility Class must be final and has a private constructor!
2C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ArchUtils.java34The Utility Class must be final and has a private constructor!
3C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ArrayUtils.java49The Utility Class must be final and has a private constructor!
4C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\BooleanUtils.java31The Utility Class must be final and has a private constructor!
5C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\CharSequenceUtils.java26The Utility Class must be final and has a private constructor!
6C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\CharSetUtils.java30The Utility Class must be final and has a private constructor!
7C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\CharUtils.java29The Utility Class must be final and has a private constructor!
8C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ClassLoaderUtils.java28The Utility Class must be final and has a private constructor!
9C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ClassPathUtils.java27The Utility Class must be final and has a private constructor!
10C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ClassUtils.java46The Utility Class must be final and has a private constructor!
11C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\EnumUtils.java34The Utility Class must be final and has a private constructor!
12C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\LocaleUtils.java38The Utility Class must be final and has a private constructor!
13C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ObjectUtils.java52The Utility Class must be final and has a private constructor!
14C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\RandomStringUtils.java49The Utility Class must be final and has a private constructor!
15C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\RandomUtils.java34The Utility Class must be final and has a private constructor!
16C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\RegExUtils.java26The Utility Class must be final and has a private constructor!
17C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\SerializationUtils.java47The Utility Class must be final and has a private constructor!
18C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\StringEscapeUtils.java44The Utility Class must be final and has a private constructor!
19C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\StringUtils.java123The Utility Class must be final and has a private constructor!
20C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\SystemUtils.java35The Utility Class must be final and has a private constructor!
21C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\ThreadUtils.java39The Utility Class must be final and has a private constructor!
22C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\compare\ComparableUtils.java30The Utility Class must be final and has a private constructor!
23C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\concurrent\ConcurrentUtils.java34The Utility Class must be final and has a private constructor!
24C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\event\EventUtils.java35The Utility Class must be final and has a private constructor!
25C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\exception\ExceptionUtils.java40The Utility Class must be final and has a private constructor!
26C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\math\IEEE754rUtils.java28The Utility Class must be final and has a private constructor!
27C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\math\NumberUtils.java32The Utility Class must be final and has a private constructor!
28C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\reflect\ConstructorUtils.java47The Utility Class must be final and has a private constructor!
29C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\reflect\FieldUtils.java42The Utility Class must be final and has a private constructor!
30C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\reflect\InheritanceUtils.java26The Utility Class must be final and has a private constructor!
31C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\reflect\MemberUtils.java33The Utility Class must be final and has a private constructor!
32C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\reflect\MethodUtils.java64The Utility Class must be final and has a private constructor!
33C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\reflect\TypeUtils.java47The Utility Class must be final and has a private constructor!
34C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\text\FormattableUtils.java41The Utility Class must be final and has a private constructor!
35C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\text\WordUtils.java38The Utility Class must be final and has a private constructor!
36C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\time\CalendarUtils.java28The Utility Class must be final and has a private constructor!
37C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\time\DateFormatUtils.java35The Utility Class must be final and has a private constructor!
38C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\time\DateUtils.java55The Utility Class must be final and has a private constructor!
39C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\time\DurationFormatUtils.java51The Utility Class must be final and has a private constructor!
40C:\Users\CHRI\Desktop\Progetto2\commons-lang\src\main\java\org\apache\commons\lang3\time\DurationUtils.java35The Utility Class must be final and has a private constructor!
diff --git a/report.pdf b/report.pdf new file mode 100644 index 0000000..2463a81 Binary files /dev/null and b/report.pdf differ diff --git a/report.tex b/report.tex new file mode 100644 index 0000000..78a2b1a --- /dev/null +++ b/report.tex @@ -0,0 +1,570 @@ +\documentclass[10pt,a4paper]{scrartcl} +\usepackage[utf8]{inputenc} +\usepackage[margin=2.25cm]{geometry} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{xcolor} +\usepackage{lmodern} +\usepackage{booktabs} +\usepackage{graphicx} +\usepackage{float} +\usepackage{tikz} +\usepackage{listings} +\usepackage{pgfplots} +\usepackage{subcaption} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.3em} +\hypersetup{pdfborder={0 0 0}} +\usepackage[nomessages]{fp} + +\renewcommand*{\titlepagestyle}{empty} + +\definecolor{dkgreen}{rgb}{0,0.6,0} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{mauve}{rgb}{0.58,0,0.82} + + +\lstset{frame=tb, + language=Java, + aboveskip=3mm, + belowskip=3mm, + showstringspaces=false, + columns=flexible, + basicstyle={\small\ttfamily}, + numbers=none, + numberstyle=\tiny\color{gray}, + keywordstyle=\color{blue}, + commentstyle=\color{dkgreen}, + stringstyle=\color{mauve}, + breaklines=true, + breakatwhitespace=true, + tabsize=3 +} + +\title{Assginment 2 -- Software Design and Modelling} + +\author{Claudio Maggioni \and Christian Squadrito} + +\begin{document} +\begin{titlepage} +\maketitle +\pagenumbering{roman} +\tableofcontents +\end{titlepage} + +\section{Project selection process} +\pagenumbering{arabic} + +This project focuses on evaluating the design of an open source project by using +automated flaw-detection tools. We have to choose a Java-based project on GitHub +that follows the following requirements: + +\begin{itemize} + \item 100 or more stars; + \item 100 or more forks; + \item 10 or more open issues; + \item 100,000 or more lines of code. +\end{itemize} + +Additionally, we added some less strict constraints that we thought would lead +to a more significant analysis: + +\begin{itemize} + \item Repository data, documentation, and comments must be written in English. + Choosing a project using another language would drastically hamper our + ability to understand the code, and thus our ability to detect potential false positive the ; + \item The artifact the project produces must not rely on external components + and have a streamlined build process, with all code stored in a single + Maven/Gradle module. This improves our ability to tinker with the project + and simplifies the process of running flaw detection tools, since + all the sources are located under a single directory. +\end{itemize} + +Finally, we decided to query GitHub manually instead of relying on its API. +Although more laborious, this improves the chance of finding a project we are familiar +with or that we have used in the past. + +Therefore, we choose between the following repositories: + +\begin{description} + \item[qos-ch/logback] a widely used Java logging library backed by a Swiss company. + We discard this project as it has less than 60,000 lines of non-blank lines of Java code; + \item[hibernate/hibernate-orm] a de-facto implementation of the Java Persistence API (JPA) + and one of the most widely used Object-Relational Mapping (ORM) libraries in Java. The + project satisfies all the ``hard'' requirements based on repository statistics. However, + the project is over 1 million lines of code and divided into several Maven modules, and + we feed that it would be hard to analyze in detail; + \item[apache/commons-lang] a commonly used Java utility library part of the Apache Commons + library collection. This project meets both our ``hard'' and ``soft'' selection criteria, + having acceptable repository statistics and a relatively straightforward single-module Maven + setup. +\end{description} + +\subsection {The Apache Commons Lang Project} +The Apache Commons family of libraries is an Apache Software +Foundation\footnote{\url{https://apache.org/}} sponsored collection of Java libraries designed to +complement the standard libraries of Java. The Apache Commons Lang project focuses on +classes that would have fitted in the \textit{java.lang} package if they +were included with Java. According to GitHub, the project has 179 contributors as of October +30th, 2022. + +All the source and test classes are contained within in the package \textit{org.apache.commons.lang3} or +in a sub-package of that package. For the sake of brevity, this +prefix is omitted from now on when mentioning packages and classes in the project. + +There is a lot of variety in the functionality the library +classes provide, from aiding in implementing the builder pattern +(package \textit{builder}), to alternatives and improvements +of concurrent primitives (package \textit{concurrent}), utility +classes for reflection (package \textit{reflect}) and mutable +implementations of boxed primitive types (package \textit{mutable}). + +We choose to analyze version 3.12.0 of the library (i.e.\ the code under the +\textit{git} tag \textit{rel/commons-lang-3.12.0}) because it is the latest stable +version available at the time of writing. + +After verifying that the project meets the hard requirements related to GitHub +(more than 2,400 stars, more than 1,400 forks, 222 open issues on the Apache Commons JIRA instance\footnote{\url{https://issues.apache.org/jira/browse/}, as of +2022-11-07 (ISO 8601 date)}), we ensured that the project had enough lines of +code by using the \textit{cloc} tool, which provided the following output shown in Figure +\ref{fig:cloc}. By looking at the results we can finally assert that the +project contains 146419 non-blank lines of Java code and this satisfies all the +requirements. + +\begin{figure}[h] + \centering + \begin{tabular}{lrrrr} + \toprule + Language & Files & Blank & Comment & Code \\ + \midrule + Java & 409 & 15,790 & 60,363 & 86,056 \\ + HTML & 22 & 1,015 & 100 & 13,028 \\ + Text & 30 & 1,858 & 0 & 12,415 \\ + XML & 38 & 434 & 539 & 4,819 \\ + Maven & 1 & 31 & 37 & 940 \\ + JavaScript & 5 & 21 & 78 & 698 \\ + Markdown & 3 & 38 & 0 & 202 \\ + CSS & 4 & 36 & 66 & 140 \\ + Velocity Template Language & 1 & 23 & 31 & 90 \\ + Groovy & 1 & 12 & 22 & 81 \\ + YAML & 3 & 12 & 42 & 55 \\ + Bourne Shell & 1 & 0 & 2 & 2 \\ + \midrule + Total & 518 & 19,270 & 61,280 & 118,526 \\ + \bottomrule + \end{tabular} + \caption{Output of the \textit{cloc} tool for the Apache Commons Lang project at + tag \textit{rel/commons-lang-3.12.0}.} + \label{fig:cloc} +\end{figure} + +\section{Analysis} + +In this section we discuss the techniques and tools we use to find flaws and +code smells in the Apache Commons Lang project. We decide to use two automated flaw detection tools: + +\begin{description} + \item[PMD] an open-source source code analyzer able to find common programming flaws and code smells\footnote{\url{https://pmd.github.io/}}. It supports many languages including Java, + and it analyzes the code statically by building an abstract syntax tree of the source + code that can be queried and inspected by a suite of several rules. The rule definition process is quite simple, as one can define a rule by building an XPath expression matching against the generated AST, for simple and coincise definition commands. + \item[Sonarqube] an open-source platform for ensuring code quality, security and maintainability \footnote{\url{https://www.sonarqube.org/}}. This tool decouples the code analysis logic into a separate ``scanner'' module, which uploads results on a ``server'' module implementing a web interface for easily browsing the detection output. Additionally, this tool is able to gather additional internal quality metrics, such as test coverage and code duplication. +\end{description} + +Given the customisable nature of PMD and the high degree of integration of Sonarqube (especially in the dashboard outputted by the ``server'' component), we focus on the former for flaw detection and for implementing custom detection rules, while we use the latter to double-check our analysis and to briefly broaden the scope of our analysis to +the test coverage and code duplication metrics. + +Finally, we considered to analyze both the library source code and its test code, as +the former is surprisingly smaller than the other (roughly 25KLOC vs roughly 60KLOC as reported by the \textit{cloc} tool when ran on the separate subdirectories). + +\subsection{Choice of Detection Rules} +While using the PMD tool, we decide to enable almost all the predefined rule-sets since +they are all useful, although with varying degrees of relevancy. The rule-sets we deem most important are: + +\begin{description} +\item[Performance] Rules that flag sub-optimal code and being a base library is supposed to run efficiently. +\item[Multi-threading] Rules that flag issues when dealing with multiple threads of execution and this library is involved in offering helper classes for thread (package reflect). +\item[Documentation] Rules that are related to code documentation and are useful for having a neat and clean documented class interfaces in order to be read easily by every Java Developer. +\item[Error Prone] Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. The same reason to enable this rule is because it's a base library and it's the solid fundamental to build upon other software layers. +\end{description} + +Secondly, the less important but necessary to cover as many flaws as possible: + +\begin{description} +\item[Best Practices] Rules which enforce generally accepted best practices. +\item[Code Style] Rules which enforce a specific coding style. +\item[Design] Rules that help you discover design issues. +\end{description} + +Finally, we decide not to enable the \textbf{Security} rule-set as Apache Commons Lang +does not implement any features related to cryptography. Enabling the rule-set would likely cause false positives on code that uses pseudo-random generators as they are insecure for cryptography, ignoring the fact that such classes specify in their documentation that they are indeed unsuited for use in these settings. + +\subsection{Custom Detection Rule} +As mentioned, we choose to implement a custom detection rule using the PMD tool. In particular, we choose to implement the rule using XPath expressions for the aforementioned ease of use benefits. + +The rule we decide to implement is based on an observation we make by browsing the +Apache Commons Lang source code. Many class have a name ending in \textit{Utils}, suggesting they are ``utilty classes'', i.e.\ classes that offer only static methods in their interfaces that are meant to be used as simple ``procedural'' functions (this concept is analogous to ``static classes'' in C\#). Some of these classes, however, expose an interface that is not completely congruent with how a library user is allowed to use one of such classes. + +In particular, we found instances of \textbf{public constructors} and class declarations missing the \textbf{final modifier}, which make little sense as these classes are not meant to be instanced or extended. Listing \ref{lst:utils-java} shows one of such flawed implementations. + +\begin{lstlisting}[caption=Interface of class \textit{CharSequenceUtils} showing a flawed implementation of a utility class.,language=java,label=lst:utils-java] +public class CharSequenceUtils { + public static CharSequence subSequence(final CharSequence cs, final int start) + { /*...*/ } + public static int lastIndexOf(final CharSequence cs, final int searchChar, + int start) + { /*...*/ } + public static int indexOf(final CharSequence cs, final int searchChar, int start) + { /*...*/ } + // [further methods omitted for brevity] + public CharSequenceUtils() {} +} +\end{lstlisting} + +Our XPath rule implementation for detecting this flaw, shown in listing \ref{lst:rule1}, +can be summarized as follows: + +\begin{itemize} + \item Firstly, we check if the class ended with the suffix \texttt{Utils} to be sure we are indeed encountering a potential utility class. + \item Secondly, we verify whether a \textbf{final modifier} is missing the class declaration and \textbf{public constructors} in the class interface. If any of the two is true, we have a violation. + \item Finally, we do a last check on the \textbf{static methods} analyzing eventual static modifier left. +\end{itemize} + +\begin{lstlisting}[caption=PMD XPath expression able to find flawed utility class implementations.,language=xml,label=lst:rule1] +//ClassOrInterfaceDeclaration +[ + if (ends-with(@SimpleName,'Utils')) + then @Final=false() or + ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[ + @Private=false() ] or + ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration[ + count(./MethodDeclaration [@Kind="METHOD" and not(@Static=true())]) $>0$ ] + else () +] +\end{lstlisting} + +XPath is indeed easy to use and we building this rule is simple, at least compared to writing a piece of Java code performing the same kind of detection. We are confident this rule can give us insights about the quality of the Apache Commons Lang project, as many classes declare themselves as utility classes in their contract and documentation and checking if they are indeed what they claim to be assures that the principle of least astonishment\footnote{\url{https://en.wikipedia.org/wiki/Principle_of_least_astonishment}} is followed in the library's design. + +\subsection{Sonarqube} + +As Sonarqube is quite a complex yet complete tool, we decide to run it with the default parameters. After installing the ``server'' component, +we add a new Maven project to it and we use the following Maven command +to run the ``scanner'' component: + +\begin{lstlisting}[caption=Maven command used to run the ``scanner'' component. \texttt{[KEY]} to be replaced with the ``server'' project key and \texttt{[TOKEN]} to be replaced with the ``server'' project token.,language=bash,label=lst:scanner-sonar] +mvn clean site sonar:sonar -Dsonar.projectKey=Apache-Commons-Lang \ + -Dsonar.host.url=[KEY] \ + -Dsonar.login=[TOKEN] \ + -Dsonar.sourceEncoding=UTF-8 \ + -Dsonar.language=java \ + -Dsonar.junit.reportsPath=target/surefire-reports \ + -Dsonar.surefire.reportsPath=target/surefire-reports \ + -Dsonar.verbose=true \ + -Dsonar.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml \ + -Dsonar.java.coveragePlugin=jacoco +\end{lstlisting} + +Using this command the Apache Commons Lang project will build correctly, +and the build toolchain will run the already configured JaCoCo +tool to provide to Sonarqube correct test coverage data. + +\section{PMD Results} + +This section shows the results we obtain by running the analysis we design in the previous section. Figure \ref{table:1} shows a summary of the violations found by the PMD tool using the existing rule-set we choose. + +\begin{figure}[H] +\resizebox{\textwidth}{!}{ +\begin{tabular}{lrlr} + \toprule + \textbf{Rule Name} & \textbf{Violations} & \textbf{Rule Name} & \textbf{Violations}\\ + \midrule +AvoidReassigningParameters & 246 & ClassWithOnlyPrivateConstructorsShouldBeFinal & 7 \\ +UseVarargs & 233 & MissingBreakInSwitch & 7 \\ +FieldDeclarationsShouldBeAtStartOfClass & 224 & CloseResource & 6 \\ +UncommentedEmptyConstructor & 67 & SimpleDateFormatNeedsLocale & 5 \\ +GodClass & 56 & UseLocaleWithCaseConversions & 4 \\ +UseUtilityClass & 48 & SingleMethodSingleton & 4 \\ +CompareObjectsWithEquals & 47 & ConfusingTernary & 3 \\ +ConstructorCallsOverridableMethod & 41 & SingletonClassReturningNewInstance & 3 \\ +UncommentedEmptyMethodBody & 35 & AbstractClassWithoutAbstractMethod & 3 \\ +FinalFieldCouldBeStatic & 26 & SwitchStmtsShouldHaveDefault & 2 \\ +AvoidSynchronizedAtMethodLevel & 22 & UnnecessaryLocalBeforeReturn & 2 \\ +PreserveStackTrace & 17 & DataClass & 2 \\ +AvoidDeeplyNestedIfStmts & 13 & DefaultLabelNotLastInSwitchStmt & 1 \\ +InstantiationToGetClass & 9 & LogicInversion & 1 \\ +SimplifyBooleanExpressions & 8 \\ + \bottomrule +\end{tabular} +} +\caption{Number of violations by rule found by the PMD tool using the existing rule-sets we choose.} +\label{table:1} +\end{figure} + +We notice that \textit{UseVarargs}, \textit{FieldDeclarationsShouldBeAtStartOfClass} and \textit{AvoidReassigningParameters} are the rules most violated by the Apache Commons Lang sources. + +\subsection{AvoidReassigningParameters} + +This rule is also quite self-documenting: parameters declared in a method signature should not be reassigned in that method's body, or in other words, all formal parameter variables should be \textit{effectively final}. + +PMD classifies this rule at ``medium-high priority'', and we agree with this high property placement. Even though avoiding parameter re-assignment is a mere stylistic choice, it is one that brings great benefits. It considerably improves code readability and it follows the principle of least astonishment, as developers often assume parameters are not mutated. + +We provide an example of poor readability in the form of Apache Commons Lang's \textit{ArrayUtils.shift(\ldots)} method, correctly reported by PMD as a violation of this rule and shown in listing \ref{lst:arrayutils}. Understanding the algorithm in the \texttt{while} loop is made slightly more confusing by the fact that \textit{startIndexInclusive} and \textit{endIndexExclusive} are mutated, even if only once and for simple bound checks. The bound check is not as obvious as it can be, and a developer may think the following code is buggy as it is operating on potentially unboundedd parameters. + +\begin{lstlisting}[caption=The \textit{shift(\ldots)} method in the \textit{ArrayUtils} class shows why parameter re-assigment may be confusing when reading code.,language=java,label=lst:arrayutils] +public class ArrayUtils { + // [...] + public static void shift(final long[] array, int startIndexInclusive, int endIndexExclusive, int offset) { + // [...] + if (startIndexInclusive < 0) { + startIndexInclusive = 0; + } + if (endIndexExclusive >= array.length) { + endIndexExclusive = array.length; + } + int n = endIndexExclusive - startIndexInclusive; + // [...] + while (n > 1 && offset > 0) { + final int n_offset = n - offset; + if (offset > n_offset) { + swap(array, startIndexInclusive, startIndexInclusive + n - n_offset, n_offset); + n = offset; + offset -= n_offset; + } else if (offset < n_offset) { + swap(array, startIndexInclusive, startIndexInclusive + n_offset, offset); + startIndexInclusive += offset; + n = n_offset; + } else { + swap(array, startIndexInclusive, startIndexInclusive + n_offset, offset); + break; + } + } + } + // [...] +} +\end{lstlisting} + +\subsection{UseVarargs} + +\textit{UseVarargs} checks if methods taking arrays as parameters use the \textit{varargs} +syntax in the signature declaration to support variadic method calls. According to PMD, +this warning is ``medium-low critical'', i.e.\ of low importance. There are indeed benefit in using the \textit{varargs} syntax, however its absence is not necessarily a code +smell. This could also be due to a deliberate stylistic choice, as some classes are indeed +designed to work specifically on array objects and calls using the variadic syntax would make little sense. One example where this speculation may apply is the \textit{ArraySorter} class, whose method signatures matching the rule are shown in Listing \ref{lst:arraysorter}. This utility class was clearly designed for sorting arrays, and although a variadic parameter list is implicitly an array, this is not immediately obvious and might pose problems in the readability of client code. + +\begin{lstlisting}[caption=Some method signatures of \textit{ArraySorter} class flagged by PMD's \textit{UseVarargs} rule.,language=java,label=lst:arraysorter] +public class ArraySorter { + public static byte[] sort(final byte[] array) { /* ... */ } + public static char[] sort(final char[] array) { /* ... */ } + // [other methods for the other primitive types] + public static T[] sort(final T[] array, + final Comparator comparator) { /* ... */ } +} +\end{lstlisting} + +\subsection{FieldDeclarationsShouldBeAtStartOfClass} + +This rule is fairly self explanatory: field declarations should by place in the +beginning of a class declaration. This is a de-facto stylistic rule widely accepted +by the Java community, as placing fields and methods in separate regions of a class's source code improves the readability of the overall code. Fields are usually placed on the top by convention, one that likely has its roots in the UML class diagram notation. + +This rule has ``medium priority'' w.r.t.\ the PMD output, although we think it is of +little concern, as all violations would be solved by running a code formatter tool over the source code. + +\subsection{ConstructorCallsOverridableMethod} + +This rule forbids calls to methods that are not \textit{final} in constructors of classes that may be overridden. Such method calls should +be avoided since a child class may override the method and act on +fields that were not yet initialized by the parent class constructor, causing a \textit{NullPointerException}. The PMD tool documentation further mentions that this ``can be difficult to debug''. + +PMD assign a ``high'' priority to these violations, and we agree due to +the particularly insidious nature of bugs that such method calls may cause. + +Additionally, we think this decreases the robustness of the class' interface, in particular of the constructor. We illustrate as an example the class \textit{text.StrBuilder}, shown in listing \ref{lst:strbuilder}. If a child class would override the \textit{append(...)} method with a buggy implementation, for example by accessing an index out of bounds of the \textit{buffer} field, this will not cause runtime errors on the method itself, but on the \textit{public StrBuilder(String)} constructor. + +We finally want to mention \textit{text.StrBuilder} is deprecated in the +3.12.0 version of the Apache Commons Lang, as all the classes in the +\textit{text} package were moved in the Apache Commons Text library. +It is possible the copy of this class in the Text library does not +contain this violation anymore. + +\begin{lstlisting}[caption=Constructor and \textit{append(\ldots)} method of class \textit{text.StrBuilder}.,language=java,label=lst:strbuilder] +public class StrBuilder implements CharSequence, Appendable, Serializable, Builder { + // [...] + protected char[] buffer; + // [...] + public StrBuilder(final String str) { + if (str == null) { + buffer = new char[CAPACITY]; + } else { + buffer = new char[str.length() + CAPACITY]; + append(str); + } + } + // [...] + public StrBuilder append(final String str) { + if (str == null) { + return appendNull(); + } + final int strLen = str.length(); + if (strLen > 0) { + final int len = length(); + ensureCapacity(len + strLen); + str.getChars(0, strLen, buffer, len); + size += strLen; + } + return this; + } + // [...] +} +\end{lstlisting} + +\subsection{PreserveStackTrace} + +This rule mandates that when throwing an exception in a catch block the +thrown exception should reference the stack trace of the caught exception. +This is usually achieved by making the thrown exception object reference the caught exception object as a ``cause'' (e.g.\ the \textit{RuntimeException(Throwable cause)} constructor allows this). + +PMD classifies this rule with a severity of ``medium'', and we agree with the rather severe rating as failing to follow this rule will likely make debugging affected code harder as part of the stack trace is not reported. + +As a violation example, the \textit{builder.ReflectionDiffBuilder.appendFields(Class$<$?$>$)} method does catch but not correctly report stack traces of \textit{IllegalAccessException} objects. The relevant class is shown in listing \ref{lst:diffbuild}. + +\begin{lstlisting}[caption=Improper exception handling in class \textit{builder.ReflectionDiffBuilder}.,language=java,label=lst:diffbuild] +public class ReflectionDiffBuilder implements Builder> { + // [...] + private void appendFields(final Class clazz) { + for (final Field field : FieldUtils.getAllFields(clazz)) { + if (accept(field)) { + try { + diffBuilder.append(field.getName(), readField(field, left, true), + readField(field, right, true)); + } catch (final IllegalAccessException ex) { + throw new InternalError("Unexpected IllegalAccessException: " + + ex.getMessage()); + } + } + } + } + // [...] +} +\end{lstlisting} + +\subsection{SingletonClassReturningNewInstance} + +Analyzing the violation of the \textbf{SingletonClassReturningNewInstance} the false positive shown in listing \ref{lst:charset}. + +\begin{lstlisting}[caption=The \textit{CharSet} class -- mistakenly detected as a flawed singleton pattern application.,language=java,label=lst:charset] +public class CharSet implements Serializable { + // [...] + protected static final Map COMMON = + Collections.synchronizedMap(new HashMap<>()); + // [...] + static { + COMMON.put(null, EMPTY); + COMMON.put(StringUtils.EMPTY, EMPTY); + COMMON.put("a-zA-Z", ASCII_ALPHA); + COMMON.put("A-Za-z", ASCII_ALPHA); + COMMON.put("a-z", ASCII_ALPHA_LOWER); + COMMON.put("A-Z", ASCII_ALPHA_UPPER); + COMMON.put("0-9", ASCII_NUMERIC); + } + // [...] + public static CharSet getInstance(final String... setStrs) { + if (setStrs == null) { return null; } + if (setStrs.length == 1) { + final CharSet common = COMMON.get(setStrs[0]); + if (common != null) { return common; } + } + return new CharSet(setStrs); + } + // [...] +} +\end{lstlisting} +PMD revealed a violation of the Singleton design pattern even though the latter isn't really implemented in this class. Actually, we are in front of a \textit{``factory'' method} which, given a variadic sequence of \textit{String} objects as input parameters, it creates an instance of \textit{CharSet} if and only if it is not already stored into the \textit{HashMap} static field named \textit{COMMON}. Finally either a stored or a newly allocated \textit{CharSet} instance is returned. + +In fact from a first glance the PMD result sounds right by only looking at the method name \textit{getInstance()} and the singleton template in the body method (...if (common != null)...). + +\subsection{Custom Rule -- Utility Class Rule} + +\begin{figure}[H] + \centering + \begin{tabular}{lll} + \toprule + AnnotationUtils & exception.ExceptionUtils & RegExUtils \\ + ArchUtils & LocaleUtils & SerializationUtils \\ + ArrayUtils & math.IEEE754rUtils & StringEscapeUtils \\ + BooleanUtils & math.NumberUtils & StringUtils \\ + CharSequenceUtils & ObjectUtils & SystemUtils \\ + CharSetUtils & RandomStringUtils & text.FormattableUtils \\ + CharUtils & RandomUtils & text.WordUtils \\ + ClassLoaderUtils & reflect.ConstructorUtils & ThreadUtils \\ + ClassPathUtils & reflect.FieldUtils & time.CalendarUtils \\ + ClassUtils & reflect.InheritanceUtils & time.DateFormatUtils \\ + compare.ComparableUtils & reflect.MemberUtils & time.DateUtils \\ + concurrent.ConcurrentUtils & reflect.MethodUtils & time.DurationFormatUtils \\ + EnumUtils & reflect.TypeUtils & time.DurationUtils \\ + event.EventUtils \\ + \bottomrule + \end{tabular} + \caption{List of classes matching the utility class custom rule we implement.} + \label{fig:tab-cust} +\end{figure} + +Figure \ref{fig:tab-cust} shows the list of classes in Apache Commons Lang matching the utility class rule we implement in the analysis section. + +Concerning the custom rule, we want to join \textit{ClassWithOnlyPrivateConstructorsShouldBeFinal} and \textit{UseUtilityClass} +in the same rule since the library contains plenty of utility classes which do not comply with this two rules. In fact our custom rule merges them at considering the \textit{Utils} suffix the Apache Commons suite of libaries uses. + +Moreover, PMD reports that all the utility classes violate the \textit{GodClass} rule considering them too complex, given their low cohesion, high coupling, and high line of code count. However, since the Commons Lang library is quite legacy, the Apache developers cannot modify their existing interface up to a certain point. Therefore, we could consider these violations as false positives. + +\section{Sonarqube results} + +\begin{figure}[H] + \centering + \resizebox{\textwidth}{!}{\includegraphics{sonarqube_report.png}} + \caption{Sonarqube report summary as shown by the ``server'' module.} + \label{fig:sonar-out} +\end{figure} + +Figure \ref{fig:sonar-out} shows the Sonarqube report summary as shown by the web interface of the ``server'' module. Even if the metrics collected are quite rich and diverse, the ``scanner'' component took only approximately 5 minutes to generate the report as the codebase is not particularly large (especially given sources are only roughly 20KLOC). + +The report shows 27 bugs found, no vulnerabilities, 37 security-related problems, and +5.000 code smells, for estimated debt of 50 man-days. Additionally, the 6.900 tests have +a combined coverage of 93.7\% (94.9\% line coverage and 91.7\% statement coverage) and +a duplication figure of 2.0\% across 94 duplicated code blocks. +\marginpar[right text]{\color{white}\url{https://youtu.be/Zx_Ay5El2Qk}} + +A breakdown of the 27 bugs reported by Sonarqube follows: + +\begin{itemize} + \item 3 critical bugs related to the use of \textit{assertNotNull(\ldots)} in tests + over primitive arguments, which will always lead to true; + \item 2 likely false positive critical bugs related to \textit{assertEquals(\ldots)} comparing dissimilar types, that are indeed equivalent anonymous class instances; + \item 5 major bugs related to the unchecked use of potentially null variables; + \item 3 false positive major bugs related to using reference equality on objects, whose use is correct since the checks reside in \textit{Object.equals(Object)} overrides and it is there for performance reasons; + \item 5 major bugs related to trivial assertions in tests that the test developers + describe in a comment as \texttt{// sanity checks:}; + \item 1 major bug related to an \textit{Object.clone()} override possibly returning null; + \item 1 major bug related to a reflective check of whether two objects have the same dynamic type, where Sonarqube suggests to use the method \textit{isAssignableFrom(\ldots)}; + \item 3 minor bugs related to \textit{int} expressions being stored in \textit{long} variables; + \item 2 minor bugs related to \textit{volatile} fields being used instead of thread-safe types; + \item 1 minor bug related to an iterator implementation not throwing \textit{NoSuchElementException} when no next element is available; + \item 1 minor bug related to an \textit{Object.hashCode()} override not having a matching \textit{Object.equals(Object)} override. +\end{itemize} + +The 5.000 code smells break down in 236 blocker problems, 167 critical problems, 772 major problems, 117 minor problems and 3.700 ``info''-level warnings. + +All the security related problems mention the cryptographically unsafe nature of the +\textit{java.util.Random} class due to the use of pseudo-randomness and an inadequately random seed. These errors can be discarded since as mentioned in the +analysis section, Apache Commons Lang does not provide by its contract any cryptographically safe feature and thus the use of pseudo-randomness is acceptable. + +\section{Conclusions} + +The Apache Commons Lang library, as shown by our analysis, has several anti-patterns and design flaws that might be avoided or mitigated. Both of the tools used show several violations according to their respective rule-sets. Given the relatively legacy nature of the project a certain number of flaws is to be expected. This is especially true given the wide use of utility classes, a practice that nowadays for new projects is frowned upon as it breaks traditional Object Oriented Programming principles. + +We find both PMD and Sonarqube effective tools. PMD is highly customizable in a simple fashion, yet very powerful in the realm of static code analysis. Sonarqube is able to provide deeper insights and additional metric, at the cost of a more highly integrated design and a lesser degree of customization. + +Our results likely apply to other Apache Commons libraries, given that many of them are meant to be used in a similar fashion as the Lang library. This is especially +true if these libraries use the same class structure and widely exploit the utility class +pattern, a likely true assumption given that some of them are direct spin-offs of packages +in the Lang library (like Commons Text). However, given the peculiar ``utility'' role +Apache Commons plays in Java development, these techniques do not directly translate for a generic Java library. +\end{document} diff --git a/sonarqube_report.png b/sonarqube_report.png new file mode 100644 index 0000000..14aaaaa Binary files /dev/null and b/sonarqube_report.png differ