PMD Results

The following document contains the results of PMD 5.2.3.

Files

jgloss/dictionary/BaseEntry.java

Violation Line
Possible God class (WMC=48, ATFD=14, TCC=0.07692307692307693) 23–273
Potential violation of Law of Demeter (method chain calls) 88
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_entryMarker' is not final. 95
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translations' is not final. 95
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_generalA' is not final. 96
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordA' is not final. 96
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingA' is not final. 97
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationA' is not final. 98
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 99
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationRomA' is not final. 99
Potential violation of Law of Demeter (method chain calls) 182

jgloss/dictionary/BinarySearchIndex.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_lastEntry' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_firstEntry' is not final. 34
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 51
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 56
Avoid using redundant field initializer for 'index' 58
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 58
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 59
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_type' is not final. 65
Potential violation of Law of Demeter (method chain calls) 76
Consider using varargs for methods or constructors which take an array the last parameter. 81

jgloss/dictionary/BinarySearchIndexBuilder.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_type' is not final. 53
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 58
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_container' is not final. 58
New exception is thrown in catch block, original stack trace may be lost 85
Potential violation of Law of Demeter (object not created locally) 87
Potential violation of Law of Demeter (object not created locally) 88
There is log block not surrounded by if 110

jgloss/dictionary/Dictionary.java

Violation Line
Consider using varargs for methods or constructors which take an array the last parameter. 58

jgloss/dictionary/DictionaryEntryFormatter.java

Violation Line
The class 'DictionaryEntryFormatter' has a Modified Cyclomatic Complexity of 3 (Highest = 15). 41–309
The class 'DictionaryEntryFormatter' has a Standard Cyclomatic Complexity of 3 (Highest = 15). 41–309
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 92
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 94
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 95
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 96
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 97
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 98
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordFormat' is not final. 102
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingFormat' is not final. 103
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_romFormat' is not final. 104
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_crmFormat' is not final. 105
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_synFormat' is not final. 106
The method 'addAttributeFormat' has a Standard Cyclomatic Complexity of 15. 130–163
The method 'addAttributeFormat' has a Modified Cyclomatic Complexity of 15. 130–163
Avoid using Literals in Conditional Statements 178
Avoid using Literals in Conditional Statements 180
Potential violation of Law of Demeter (method chain calls) 186
Potential violation of Law of Demeter (method chain calls) 188
Potential violation of Law of Demeter (method chain calls) 190–192
Potential violation of Law of Demeter (method chain calls) 190–192
Potential violation of Law of Demeter (method chain calls) 190–192
Potential violation of Law of Demeter (object not created locally) 299
Potential violation of Law of Demeter (object not created locally) 300

jgloss/dictionary/DictionaryFactory.java

Violation Line
Potential violation of Law of Demeter (object not created locally) 66
Potential violation of Law of Demeter (object not created locally) 119
Potential violation of Law of Demeter (object not created locally) 120
Potential violation of Law of Demeter (object not created locally) 122
Potential violation of Law of Demeter (object not created locally) 125
Potential violation of Law of Demeter (object not created locally) 126
Potential violation of Law of Demeter (object not created locally) 128–130
Potential violation of Law of Demeter (object not created locally) 128
Avoid appending characters as strings in StringBuffer.append. 129
Potential violation of Law of Demeter (object not created locally) 130
Potential violation of Law of Demeter (object not created locally) 134
Potential violation of Law of Demeter (object not created locally) 137

jgloss/dictionary/EUCJPCharacterHandler.java

Violation Line
Avoid using Literals in Conditional Statements 44
Avoid using Literals in Conditional Statements 46
Avoid using Literals in Conditional Statements 91
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 99
Avoid using Literals in Conditional Statements 100
Avoid using Literals in Conditional Statements 101
Avoid using Literals in Conditional Statements 104

jgloss/dictionary/EncodedCharacterHandler.java

Violation Line
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 108

jgloss/dictionary/ExpressionSearchModes.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_id' is not final. 45

jgloss/dictionary/Index.java

Violation Line
Consider using varargs for methods or constructors which take an array the last parameter. 80

jgloss/dictionary/Indexable.java

Violation Line
Avoid using redundant field initializer for 'character' 45
Avoid using redundant field initializer for 'position' 46
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 87

jgloss/dictionary/KanjiDic.java

Violation Line
Possible God class (WMC=120, ATFD=66, TCC=0.008912655971479501) 23–768
Potential violation of Law of Demeter (object not created locally) 100
Potential violation of Law of Demeter (object not created locally) 103
Potential violation of Law of Demeter (object not created locally) 103
Potential violation of Law of Demeter (object not created locally) 104
Potential violation of Law of Demeter (object not created locally) 108
Potential violation of Law of Demeter (object not created locally) 108
Potential violation of Law of Demeter (object not created locally) 109
Potential violation of Law of Demeter (object not created locally) 119
Unnecessary use of fully qualified name 'Level.SEVERE' due to existing import 'java.util.logging.Level' 119
Unnecessary use of fully qualified name 'Level.SEVERE' due to existing import 'java.util.logging.Level' 122
Potential violation of Law of Demeter (object not created locally) 122
The class 'Entry' has a Modified Cyclomatic Complexity of 2 (Highest = 16). 166–385
The class 'Entry' has a Standard Cyclomatic Complexity of 3 (Highest = 21). 166–385
The constructor 'Entry' has a Modified Cyclomatic Complexity of 16. 239–343
The constructor 'Entry' has a Standard Cyclomatic Complexity of 21. 239–343
Avoid using Literals in Conditional Statements 261
Switch statements should have a default label 262–281
Avoid using Literals in Conditional Statements 275
Avoid using Literals in Conditional Statements 277
Switch statements should have a default label 286–308
Returning 'readings' may expose an internal array. 352
Returning 'nanoriReadings' may expose an internal array. 357
Returning 'translations' may expose an internal array. 367
Potential violation of Law of Demeter (method chain calls) 448
Consider using varargs for methods or constructors which take an array the last parameter. 461
Consider using varargs for methods or constructors which take an array the last parameter. 510
Potential violation of Law of Demeter (method chain calls) 512–513
Potential violation of Law of Demeter (method chain calls) 512–513
Potential violation of Law of Demeter (object not created locally) 524
Avoid unnecessary if..then..else statements when returning booleans 536–540
Avoid using final local variables, turn them into fields 589
Avoid using if statements without curly braces 597–598
Avoid using if statements without curly braces 599–600
Avoid using if statements without curly braces 601–602
Avoid using if statements without curly braces 605–606
Avoid using if statements without curly braces 607–608
The class 'EntryListIterator' has a Standard Cyclomatic Complexity of 4 (Highest = 16). 612–767
The class 'EntryListIterator' has a Modified Cyclomatic Complexity of 4 (Highest = 16). 612–767
Avoid using implementation types like 'LinkedList'; use the interface instead 619
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_entries' is not final. 626
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_searchmode' is not final. 626
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_searchfields' is not final. 627
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_expression' is not final. 627
Overridable method 'fillEntryCache' called during object construction 632
The method 'fillEntryCache' has a Modified Cyclomatic Complexity of 16. 657–734
The method 'fillEntryCache' has a Standard Cyclomatic Complexity of 16. 657–734
Potential violation of Law of Demeter (object not created locally) 669
Potential violation of Law of Demeter (object not created locally) 671
These nested if statements could be combined 675–678
Potential violation of Law of Demeter (object not created locally) 677
Potential violation of Law of Demeter (object not created locally) 687
Potential violation of Law of Demeter (method chain calls) 703
Potential violation of Law of Demeter (object not created locally) 705
Potential violation of Law of Demeter (object not created locally) 716
Consider using varargs for methods or constructors which take an array the last parameter. 747
Potential violation of Law of Demeter (object not created locally) 752
Potential violation of Law of Demeter (object not created locally) 756
Potential violation of Law of Demeter (object not created locally) 757

jgloss/dictionary/MalformedEntryException.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 47
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryEntry' is not final. 47
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 55
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryEntry' is not final. 55
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_rootCause' is not final. 56

jgloss/dictionary/MatchMode.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_name' is not final. 42

jgloss/dictionary/MultiReadingEntry.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reading' is not final. 44
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translations' is not final. 44
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_word' is not final. 44
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 45
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_word' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readings' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translations' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 50
New exception is thrown in catch block, original stack trace may be lost 93

jgloss/dictionary/MultiWordEntry.java

Violation Line
The class 'MultiWordEntry' has a Modified Cyclomatic Complexity of 3 (Highest = 10). 29–144
The class 'MultiWordEntry' has a Standard Cyclomatic Complexity of 3 (Highest = 10). 29–144
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readings' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_words' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_entryMarker' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translations' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_generalA' is not final. 38
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordA' is not final. 38
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordsA' is not final. 38
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingsA' is not final. 39
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingA' is not final. 39
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationA' is not final. 39
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 40
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationRomA' is not final. 40
The method 'toString' has a Modified Cyclomatic Complexity of 10. 99–143
The method 'toString' has a Standard Cyclomatic Complexity of 10. 99–143
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 101
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 102
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 103
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 123
Avoid using Literals in Conditional Statements 127

jgloss/dictionary/SearchFieldSelection.java

Violation Line
Avoid using redundant field initializer for 'wordSelected' 31
Avoid using redundant field initializer for 'readingSelected' 32
Avoid using redundant field initializer for 'translationSelected' 33
Avoid using redundant field initializer for 'matchField' 35
Avoid using redundant field initializer for 'matchWord' 36
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingSelected' is not final. 43
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordSelected' is not final. 43
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationSelected' is not final. 44
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_matchField' is not final. 45
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_matchWord' is not final. 45

jgloss/dictionary/SingleWordEntry.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_entryMarker' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reading' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translations' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_word' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingA' is not final. 35
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordA' is not final. 35
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_generalA' is not final. 35
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationA' is not final. 35
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translationRomA' is not final. 36
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionary' is not final. 36
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 86
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 87
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 88
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 89
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 90
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 91
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 92
StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 93
Avoid using Literals in Conditional Statements 97

jgloss/dictionary/StandardSearchParameter.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_description' is not final. 57
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_paramClass' is not final. 57

jgloss/dictionary/SynchronizedDictionary.java

Violation Line
Consider using varargs for methods or constructors which take an array the last parameter. 55

jgloss/dictionary/SynchronizedIndexedDictionary.java

Violation Line
Potential violation of Law of Demeter (method chain calls) 46
Potential violation of Law of Demeter (method chain calls) 53

jgloss/dictionary/TestResult.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_confidence' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reason' is not final. 34

jgloss/dictionary/UTF8CharacterHandler.java

Violation Line
Possible God class (WMC=55, ATFD=13, TCC=0.14285714285714285) 23–188
The class 'UTF8CharacterHandler' has a Standard Cyclomatic Complexity of 5 (Highest = 10). 36–188
The class 'UTF8CharacterHandler' has a Modified Cyclomatic Complexity of 5 (Highest = 10). 36–188
Avoid using Literals in Conditional Statements 48
Avoid using Literals in Conditional Statements 52
Avoid using Literals in Conditional Statements 56
Avoid using Literals in Conditional Statements 60
Avoid using Literals in Conditional Statements 64
Avoid using Literals in Conditional Statements 70
The method 'readPreviousCharacter' has a Standard Cyclomatic Complexity of 10. 80–120
The method 'readPreviousCharacter' has a Modified Cyclomatic Complexity of 10. 80–120
Avoid using Literals in Conditional Statements 88
Avoid using Literals in Conditional Statements 97
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 163
Avoid using Literals in Conditional Statements 170

jgloss/dictionary/UnsupportedSearchModeException.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_searchmode' is not final. 36

jgloss/dictionary/attribute/Abbreviation.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_word' is not final. 32
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_langCode' is not final. 36
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_word' is not final. 36

jgloss/dictionary/attribute/AttributeMapper.java

Violation Line
The class 'AttributeMapper' has a Modified Cyclomatic Complexity of 5 (Highest = 13). 45–180
The class 'AttributeMapper' has a Standard Cyclomatic Complexity of 5 (Highest = 13). 45–180
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_attribute' is not final. 57
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_value' is not final. 57
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 67
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 68
The constructor 'AttributeMapper' has a Standard Cyclomatic Complexity of 13. 75–166
The constructor 'AttributeMapper' has a Modified Cyclomatic Complexity of 13. 75–166
String.trim().length()==0 is an inefficient way to validate an empty String. 89
New exception is thrown in catch block, original stack trace may be lost 102–104
The String literal "; line " appears 4 times in this file; the first occurrence is on line 103 103
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 112
New exception is thrown in catch block, original stack trace may be lost 113–115
Deeply nested if..then statements are hard to read 123–125
Prefer StringBuffer over += for concatenating strings 124
Deeply nested if..then statements are hard to read 135–137
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 145

jgloss/dictionary/attribute/AttributeNameFormatter.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_after' is not final. 40
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_before' is not final. 40

jgloss/dictionary/attribute/AttributeNotSetException.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_attribute' is not final. 36

jgloss/dictionary/attribute/AttributeSetChainIterator.java

Violation Line
Overridable method 'getNextKey' called during object construction 36

jgloss/dictionary/attribute/Attributes.java

Violation Line
Field canHaveValue has the same name as a method 154
Field alwaysHasValue has the same name as a method 155
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_name' is not final. 160
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_groups' is not final. 160
Consider using varargs for methods or constructors which take an array the last parameter. 160
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_description' is not final. 160
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_description' is not final. 164
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_name' is not final. 164
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_alwaysHasValue' is not final. 164
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_exampleAttributeValue' is not final. 165
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_valueClass' is not final. 165
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_groups' is not final. 166
Consider using varargs for methods or constructors which take an array the last parameter. 166
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_group' is not final. 195
Use equals() to compare object references. 197

jgloss/dictionary/attribute/Category.java

Violation Line
Variables that are final and static should be all capitals, 'factory' is not all capitals. 36
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 53–54
Variables that are final and static should be all capitals, 'names' is not all capitals. 53

jgloss/dictionary/attribute/DefaultAttributeFormatter.java

Violation Line
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 41
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_valueFormat' is not final. 47
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printBefore' is not final. 51
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printAfter' is not final. 51
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printBeforeValue' is not final. 52
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printAttributeName' is not final. 53
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_valueFormat' is not final. 54
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 66
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 91

jgloss/dictionary/attribute/DefaultAttributeSet.java

Violation Line
Avoid using redundant field initializer for 'parent' 38
Avoid using redundant field initializer for 'attributes' 39
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_parent' is not final. 52
Potential violation of Law of Demeter (method chain calls) 70
Potential violation of Law of Demeter (object not created locally) 101
Potential violation of Law of Demeter (object not created locally) 101
Potential violation of Law of Demeter (method chain calls) 124
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_parent' is not final. 135
Potential violation of Law of Demeter (object not created locally) 163
Potential violation of Law of Demeter (method chain calls) 172
Potential violation of Law of Demeter (object not created locally) 188
Potential violation of Law of Demeter (object not created locally) 194
Potential violation of Law of Demeter (object not created locally) 196
Potential violation of Law of Demeter (object not created locally) 196
Potential violation of Law of Demeter (method chain calls) 196
Potential violation of Law of Demeter (object not created locally) 197
Potential violation of Law of Demeter (object not created locally) 198
Potential violation of Law of Demeter (method chain calls) 199
Potential violation of Law of Demeter (object not created locally) 199
Potential violation of Law of Demeter (object not created locally) 199
Potential violation of Law of Demeter (object not created locally) 202
Potential violation of Law of Demeter (object not created locally) 203

jgloss/dictionary/attribute/DefaultCategoryAttributeValue.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_id' is not final. 43
Overridable method 'setNames' called during object construction 45
Potential violation of Law of Demeter (method chain calls) 53
Potential violation of Law of Demeter (method chain calls) 54
Avoid using final local variables, turn them into fields 78
Avoid using if statements without curly braces 86–87
Avoid using if statements without curly braces 88–89
Avoid using if statements without curly braces 90–91
Avoid using if statements without curly braces 94–95
Avoid using if statements without curly braces 96–97

jgloss/dictionary/attribute/Gairaigo.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_langCode' is not final. 30
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_originalWord' is not final. 34
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_langCode' is not final. 34

jgloss/dictionary/attribute/IDAttributeValueFactory.java

Violation Line
Avoid instantiating String objects; this is usually unnecessary. 42
Potential violation of Law of Demeter (method chain calls) 52

jgloss/dictionary/attribute/InformationAttributeFormatter.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printBefore' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printAfter' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printBeforeValue' is not final. 38
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_printAttributeName' is not final. 39
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_valueFormat' is not final. 40
Potential violation of Law of Demeter (method chain calls) 47

jgloss/dictionary/attribute/InformationAttributeValue.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_information' is not final. 28

jgloss/dictionary/attribute/PartOfSpeech.java

Violation Line
Variables that are final and static should be all capitals, 'factory' is not all capitals. 36
Variables that are final and static should be all capitals, 'names' is not all capitals. 53
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 53–54

jgloss/dictionary/attribute/PriorityComparator.java

Violation Line
Potential violation of Law of Demeter (object not created locally) 39
Potential violation of Law of Demeter (object not created locally) 39
Potential violation of Law of Demeter (object not created locally) 43
Potential violation of Law of Demeter (method chain calls) 43
Potential violation of Law of Demeter (object not created locally) 44
Potential violation of Law of Demeter (method chain calls) 44
Potential violation of Law of Demeter (method chain calls) 48–49
Potential violation of Law of Demeter (object not created locally) 48–49
Potential violation of Law of Demeter (method chain calls) 48–49
Potential violation of Law of Demeter (method chain calls) 50–51
Potential violation of Law of Demeter (method chain calls) 50–51
Potential violation of Law of Demeter (object not created locally) 50–51
Potential violation of Law of Demeter (object not created locally) 52
Potential violation of Law of Demeter (object not created locally) 54
Potential violation of Law of Demeter (method chain calls) 54

jgloss/dictionary/attribute/ReferenceAttributeFormatter.java

Violation Line
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 30
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_afterValue' is not final. 32
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_beforeValue' is not final. 32
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_formatter' is not final. 33
Potential violation of Law of Demeter (method chain calls) 42

jgloss/dictionary/attribute/Usage.java

Violation Line
Variables that are final and static should be all capitals, 'factory' is not all capitals. 36
Variables that are final and static should be all capitals, 'names' is not all capitals. 53
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 53–54

jgloss/dictionary/attribute/Word.java

Violation Line
Avoid short class names like Word 33–52
It is somewhat confusing to have a field name matching the declaring class name 38
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_langCode' is not final. 41
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_word' is not final. 41

jgloss/dictionary/attribute/WordFormatter.java

Violation Line
Variables that are final and static should be all capitals, 'languages' is not all capitals. 41
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_langFormat' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_wordFormat' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_langAndWordFormat' is not final. 50
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_formatter' is not final. 51
Potential violation of Law of Demeter (object not created locally) 63
Potential violation of Law of Demeter (object not created locally) 65
There is log block not surrounded by if 67
Potential violation of Law of Demeter (object not created locally) 68
Potential violation of Law of Demeter (object not created locally) 69
Potential violation of Law of Demeter (object not created locally) 74
Potential violation of Law of Demeter (object not created locally) 79
Potential violation of Law of Demeter (object not created locally) 83

jgloss/dictionary/filebased/EDict.java

Violation Line
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 86
Potential violation of Law of Demeter (static property access) 100
Potential violation of Law of Demeter (method chain calls) 101
Potential violation of Law of Demeter (method chain calls) 101

jgloss/dictionary/filebased/EDictEntryParser.java

Violation Line
The class 'EDictEntryParser' has a Modified Cyclomatic Complexity of 3 (Highest = 10). 33–329
The class 'EDictEntryParser' has a Standard Cyclomatic Complexity of 3 (Highest = 10). 33–329
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 58
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 66
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 68
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 70
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 72
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 78
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 84
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 86
Use equals() to compare object references. 93
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 104–105
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 107
Potential violation of Law of Demeter (method chain calls) 111
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 121
Potential violation of Law of Demeter (method chain calls) 161
Potential violation of Law of Demeter (method chain calls) 162
Consider using varargs for methods or constructors which take an array the last parameter. 182
Potential violation of Law of Demeter (method chain calls) 184
Potential violation of Law of Demeter (object not created locally) 185
Potential violation of Law of Demeter (object not created locally) 186
Potential violation of Law of Demeter (object not created locally) 194
Potential violation of Law of Demeter (object not created locally) 195
Potential violation of Law of Demeter (object not created locally) 198
Potential violation of Law of Demeter (object not created locally) 202
Potential violation of Law of Demeter (object not created locally) 203
The method 'parseTranslations' has a Modified Cyclomatic Complexity of 10. 209–259
The method 'parseTranslations' has a Standard Cyclomatic Complexity of 10. 209–259
Potential violation of Law of Demeter (object not created locally) 217
Potential violation of Law of Demeter (object not created locally) 223
Potential violation of Law of Demeter (object not created locally) 224
Potential violation of Law of Demeter (object not created locally) 227
Potential violation of Law of Demeter (object not created locally) 228
Potential violation of Law of Demeter (object not created locally) 229
Potential violation of Law of Demeter (object not created locally) 253
Potential violation of Law of Demeter (object not created locally) 253
Potential violation of Law of Demeter (object not created locally) 279
Potential violation of Law of Demeter (object not created locally) 280
Potential violation of Law of Demeter (object not created locally) 282
Potential violation of Law of Demeter (object not created locally) 284
Potential violation of Law of Demeter (object not created locally) 286
Consider using varargs for methods or constructors which take an array the last parameter. 307
Potential violation of Law of Demeter (object not created locally) 313
Potential violation of Law of Demeter (method chain calls) 319
Potential violation of Law of Demeter (object not created locally) 324

jgloss/dictionary/filebased/EDictStructure.java

Violation Line
Avoid using Literals in Conditional Statements 75
Avoid using Literals in Conditional Statements 114
Avoid using Literals in Conditional Statements 116
Avoid using Literals in Conditional Statements 121
Avoid using Literals in Conditional Statements 123
Avoid using Literals in Conditional Statements 124

jgloss/dictionary/filebased/FileBasedDictionary.java

Violation Line
Possible God class (WMC=105, ATFD=66, TCC=0.02528735632183908) 23–858
The class 'FileBasedDictionary' has a Standard Cyclomatic Complexity of 3 (Highest = 11). 90–858
The class 'FileBasedDictionary' has a Modified Cyclomatic Complexity of 3 (Highest = 11). 90–858
Perhaps 'dictionarySize' could be replaced by a local variable. 122
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 160
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 165
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dicfile' is not final. 176
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_encoding' is not final. 176
There is log block not surrounded by if 189
Overridable method 'initSearchModes' called during object construction 205
Overridable method 'initSupportedAttributes' called during object construction 206
An empty method in an abstract class should be abstract instead 231–232
Consider using varargs for methods or constructors which take an array the last parameter. 352
Potential violation of Law of Demeter (method chain calls) 357–358
Potential violation of Law of Demeter (method chain calls) 357–358
Potential violation of Law of Demeter (object not created locally) 375
The method 'copyEntry' has a Standard Cyclomatic Complexity of 11. 403–481
The method 'copyEntry' has a Modified Cyclomatic Complexity of 11. 403–481
Consider using varargs for methods or constructors which take an array the last parameter. 404
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 404
Potential violation of Law of Demeter (object not created locally) 473
Potential violation of Law of Demeter (object not created locally) 491
Potential violation of Law of Demeter (object not created locally) 494
Potential violation of Law of Demeter (object not created locally) 494
Potential violation of Law of Demeter (method chain calls) 510
Potential violation of Law of Demeter (method chain calls) 510
Avoid unused method parameters such as 'field'. 576
Unnecessary use of fully qualified name 'java.nio.charset.CharacterCodingException' due to existing import 'java.nio.charset.CharacterCodingException' 669
Unnecessary use of fully qualified name 'java.nio.charset.CharacterCodingException' due to existing import 'java.nio.charset.CharacterCodingException' 736
The class 'ExpressionSearchIterator' has a Modified Cyclomatic Complexity of 4 (Highest = 12). 747–857
The class 'ExpressionSearchIterator' has a Standard Cyclomatic Complexity of 4 (Highest = 12). 747–857
Avoid using redundant field initializer for 'nextEntry' 755
Avoid using redundant field initializer for 'deferredException' 756
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_fields' is not final. 758
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_searchmode' is not final. 758
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_expressionLength' is not final. 759
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_matchingIndexEntries' is not final. 760
The method 'generateNextEntry' has a Standard Cyclomatic Complexity of 12. 803–856
The method 'generateNextEntry' has a Modified Cyclomatic Complexity of 12. 803–856
Potential violation of Law of Demeter (object not created locally) 814
Potential violation of Law of Demeter (object not created locally) 815
These nested if statements could be combined 831–836
Potential violation of Law of Demeter (object not created locally) 841
Potential violation of Law of Demeter (method chain calls) 849
Potential violation of Law of Demeter (method chain calls) 850

jgloss/dictionary/filebased/FileBasedDictionaryImplementation.java

Violation Line
Potential violation of Law of Demeter (object not created locally) 101
Potential violation of Law of Demeter (object not created locally) 105
Potential violation of Law of Demeter (object not created locally) 107
Potential violation of Law of Demeter (static property access) 116
Potential violation of Law of Demeter (static property access) 124
Potential violation of Law of Demeter (static property access) 127
Potential violation of Law of Demeter (static property access) 132
Potential violation of Law of Demeter (object not created locally) 133
New exception is thrown in catch block, original stack trace may be lost 163–164
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 165

jgloss/dictionary/filebased/FileBasedDictionaryIndexer.java

Violation Line
The class 'FileBasedDictionaryIndexer' has a Modified Cyclomatic Complexity of 5 (Highest = 14). 47–186
The class 'FileBasedDictionaryIndexer' has a Standard Cyclomatic Complexity of 5 (Highest = 14). 47–186
The method 'addIndexTerms' has a Modified Cyclomatic Complexity of 14. 97–183
The method 'addIndexTerms' has a Standard Cyclomatic Complexity of 14. 97–183
Potential violation of Law of Demeter (object not created locally) 123
Potential violation of Law of Demeter (object not created locally) 124
Unnecessary use of fully qualified name 'CharacterClass.ROMAN_WORD' due to existing import 'jgloss.dictionary.CharacterClass' 126
Use equals() to compare object references. 143
Potential violation of Law of Demeter (object not created locally) 144
Use equals() to compare object references. 146
Potential violation of Law of Demeter (object not created locally) 150
Potential violation of Law of Demeter (method chain calls) 151
Potential violation of Law of Demeter (object not created locally) 151

jgloss/dictionary/filebased/FileIndexContainer.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_type' is not final. 77
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 128
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 134
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 141
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 144
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 147
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 152
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 157
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 159
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 161
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 163
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 165
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_editMode' is not final. 176
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_indexfile' is not final. 176
Potential violation of Law of Demeter (object not created locally) 209
Potential violation of Law of Demeter (method chain calls) 234
Potential violation of Law of Demeter (object not created locally) 266
Potential violation of Law of Demeter (object not created locally) 266
Potential violation of Law of Demeter (object not created locally) 268
Potential violation of Law of Demeter (object not created locally) 268
Potential violation of Law of Demeter (object not created locally) 269
Potential violation of Law of Demeter (object not created locally) 269
Potential violation of Law of Demeter (object not created locally) 271
Potential violation of Law of Demeter (object not created locally) 271
Potential violation of Law of Demeter (object not created locally) 347

jgloss/dictionary/filebased/WadokuJT.java

Violation Line
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 107
Potential violation of Law of Demeter (static property access) 121
Switch statements should have a default label 147–153

jgloss/dictionary/filebased/WadokuJTEntryParser.java

Violation Line
Possible God class (WMC=61, ATFD=26, TCC=0.16666666666666666) 1–484
The class 'WadokuJTEntryParser' has a Standard Cyclomatic Complexity of 15 (Highest = 51). 35–484
The class 'WadokuJTEntryParser' has a Modified Cyclomatic Complexity of 15 (Highest = 51). 35–484
Potential violation of Law of Demeter (method chain calls) 93–94
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 105
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 109
Potential violation of Law of Demeter (method chain calls) 111
Potential violation of Law of Demeter (method chain calls) 114–115
Potential violation of Law of Demeter (object not created locally) 118
Potential violation of Law of Demeter (object not created locally) 119
Potential violation of Law of Demeter (object not created locally) 120
Potential violation of Law of Demeter (object not created locally) 120
Potential violation of Law of Demeter (object not created locally) 124
Potential violation of Law of Demeter (object not created locally) 125
Potential violation of Law of Demeter (object not created locally) 126
Potential violation of Law of Demeter (object not created locally) 126
Potential violation of Law of Demeter (object not created locally) 126
Potential violation of Law of Demeter (object not created locally) 129
Potential violation of Law of Demeter (object not created locally) 133
Potential violation of Law of Demeter (object not created locally) 136
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 141
The method 'parseEntry' has a Modified Cyclomatic Complexity of 51. 150–482
The method parseEntry() has an NCSS line count of 195 150–482
The method 'parseEntry' has a Standard Cyclomatic Complexity of 51. 150–482
Avoid really long methods. 150–482
Avoid using Literals in Conditional Statements 234
Deeply nested if..then statements are hard to read 247–251
There is log block not surrounded by if 248
There is log block not surrounded by if 315
Prefer StringBuffer over += for concatenating strings 328
There is log block not surrounded by if 331
Avoid using Literals in Conditional Statements 338
There is log block not surrounded by if 406
Potential violation of Law of Demeter (method chain calls) 433
Avoid using Literals in Conditional Statements 435
Avoid using Literals in Conditional Statements 437
Avoid using Literals in Conditional Statements 453
Avoid using Literals in Conditional Statements 467
Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 479

jgloss/dictionary/filebased/WadokuJTStructure.java

Violation Line
The class 'WadokuJTStructure' has a Standard Cyclomatic Complexity of 9 (Highest = 12). 7–155
The class 'WadokuJTStructure' has a Modified Cyclomatic Complexity of 8 (Highest = 11). 7–155
Avoid using Literals in Conditional Statements 20
Avoid using Literals in Conditional Statements 43
Avoid using Literals in Conditional Statements 46
Avoid using Literals in Conditional Statements 48
The method 'moveToNextField' has a Standard Cyclomatic Complexity of 11. 63–107
The method 'moveToNextField' has a Modified Cyclomatic Complexity of 11. 63–107
Avoid using Literals in Conditional Statements 75
The method 'getFieldType' has a Standard Cyclomatic Complexity of 12. 110–153
Avoid using Literals in Conditional Statements 119
Avoid using Literals in Conditional Statements 138

jgloss/parser/Chasen.java

Violation Line
Possible God class (WMC=49, ATFD=20, TCC=0.10989010989010989) 22–526
Potential violation of Law of Demeter (object not created locally) 128
Potential violation of Law of Demeter (object not created locally) 130
Avoid using Literals in Conditional Statements 134
Potential violation of Law of Demeter (object not created locally) 138
Potential violation of Law of Demeter (object not created locally) 140
Potential violation of Law of Demeter (object not created locally) 142
Potential violation of Law of Demeter (object not created locally) 144
Potential violation of Law of Demeter (object not created locally) 145
Potential violation of Law of Demeter (object not created locally) 170
Potential violation of Law of Demeter (object not created locally) 180
Potential violation of Law of Demeter (object not created locally) 199
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 211
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 217
Avoid using redundant field initializer for 'lastChasenExecutable' 217
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 222
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 226
It is somewhat confusing to have a field name matching the declaring class name 230
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 230
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 234
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 238
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 242
Potential violation of Law of Demeter (object not created locally) 294
Potential violation of Law of Demeter (object not created locally) 298
Potential violation of Law of Demeter (object not created locally) 299
Potential violation of Law of Demeter (object not created locally) 300
Potential violation of Law of Demeter (object not created locally) 301
Potential violation of Law of Demeter (object not created locally) 310
Avoid using Literals in Conditional Statements 399
Avoid using Literals in Conditional Statements 403
Potential violation of Law of Demeter (method chain calls) 426
Potential violation of Law of Demeter (method chain calls) 429
Potential violation of Law of Demeter (method chain calls) 430
Potential violation of Law of Demeter (method chain calls) 432
Potential violation of Law of Demeter (method chain calls) 433
Unnecessary use of fully qualified name 'Level.SEVERE' due to existing import 'java.util.logging.Level' 446
Potential violation of Law of Demeter (object not created locally) 471
Potential violation of Law of Demeter (object not created locally) 472
Potential violation of Law of Demeter (object not created locally) 476
Potential violation of Law of Demeter (object not created locally) 477
Potential violation of Law of Demeter (object not created locally) 484
Potential violation of Law of Demeter (object not created locally) 486
Potential violation of Law of Demeter (method chain calls) 487
Potential violation of Law of Demeter (object not created locally) 487
Potential violation of Law of Demeter (object not created locally) 488
Potential violation of Law of Demeter (method chain calls) 488
Unnecessary use of fully qualified name 'Level.SEVERE' due to existing import 'java.util.logging.Level' 491
Potential violation of Law of Demeter (object not created locally) 491

jgloss/parser/ChasenParser.java

Violation Line
The class 'ChasenParser' has a Standard Cyclomatic Complexity of 3 (Highest = 12). 46–225
The class 'ChasenParser' has a Modified Cyclomatic Complexity of 3 (Highest = 12). 46–225
The method 'parse' has a Modified Cyclomatic Complexity of 12. 89–165
The method 'parse' has a Standard Cyclomatic Complexity of 12. 89–165
Potential violation of Law of Demeter (object not created locally) 108
Potential violation of Law of Demeter (object not created locally) 111
Potential violation of Law of Demeter (object not created locally) 120
Potential violation of Law of Demeter (object not created locally) 121
Potential violation of Law of Demeter (object not created locally) 127
Potential violation of Law of Demeter (object not created locally) 129
Avoid using Literals in Conditional Statements 129
Potential violation of Law of Demeter (object not created locally) 130
Potential violation of Law of Demeter (object not created locally) 133
Potential violation of Law of Demeter (object not created locally) 135
Potential violation of Law of Demeter (object not created locally) 138
Potential violation of Law of Demeter (object not created locally) 139
Potential violation of Law of Demeter (object not created locally) 140
Potential violation of Law of Demeter (object not created locally) 141
Potential violation of Law of Demeter (object not created locally) 142
Potential violation of Law of Demeter (object not created locally) 146
Potential violation of Law of Demeter (object not created locally) 157
Position literals first in String comparisons 171
Position literals first in String comparisons 172
Position literals first in String comparisons 173
Position literals first in String comparisons 174
Position literals first in String comparisons 175
Position literals first in String comparisons 176
Position literals first in String comparisons 177

jgloss/parser/Conjugation.java

Violation Line
Possible God class (WMC=52, ATFD=47, TCC=0.2222222222222222) 23–469
The class 'Conjugation' has a Modified Cyclomatic Complexity of 4 (Highest = 11). 50–469
The class 'Conjugation' has a Standard Cyclomatic Complexity of 4 (Highest = 11). 50–469
Consider using varargs for methods or constructors which take an array the last parameter. 87
Avoid short class names like Node 97–133
Consider using varargs for methods or constructors which take an array the last parameter. 124
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 138
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 138
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 143
Avoid using redundant field initializer for 'root' 143
Potential violation of Law of Demeter (static property access) 197
The method 'loadConjugations' has a Modified Cyclomatic Complexity of 11. 233–294
Use block level rather than method level synchronization 233–294
The method 'loadConjugations' has a Standard Cyclomatic Complexity of 11. 233–294
Potential violation of Law of Demeter (method chain calls) 243
Potential violation of Law of Demeter (object not created locally) 244
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 248
Potential violation of Law of Demeter (object not created locally) 251
Avoid using Literals in Conditional Statements 252
Potential violation of Law of Demeter (object not created locally) 252
Avoid using Literals in Conditional Statements 255
Potential violation of Law of Demeter (object not created locally) 255
Potential violation of Law of Demeter (object not created locally) 259
Potential violation of Law of Demeter (object not created locally) 261
Potential violation of Law of Demeter (object not created locally) 263
Potential violation of Law of Demeter (method chain calls) 263
Potential violation of Law of Demeter (object not created locally) 265
There is log block not surrounded by if 267
Potential violation of Law of Demeter (object not created locally) 269
Potential violation of Law of Demeter (object not created locally) 269
Potential violation of Law of Demeter (method chain calls) 269
Potential violation of Law of Demeter (method chain calls) 269
Potential violation of Law of Demeter (object not created locally) 274
Potential violation of Law of Demeter (object not created locally) 278
Potential violation of Law of Demeter (object not created locally) 279
Potential violation of Law of Demeter (object not created locally) 280
Potential violation of Law of Demeter (object not created locally) 284
Potential violation of Law of Demeter (object not created locally) 285
Potential violation of Law of Demeter (object not created locally) 286
Potential violation of Law of Demeter (object not created locally) 286
Potential violation of Law of Demeter (object not created locally) 292
The method 'addConjugation' has a Standard Cyclomatic Complexity of 10. 304–379
The method 'addConjugation' has a Modified Cyclomatic Complexity of 10. 304–379
Potential violation of Law of Demeter (method chain calls) 315
Potential violation of Law of Demeter (method chain calls) 315
Potential violation of Law of Demeter (object not created locally) 315
Potential violation of Law of Demeter (method chain calls) 315
Potential violation of Law of Demeter (static property access) 323
Potential violation of Law of Demeter (static property access) 324
Potential violation of Law of Demeter (static property access) 328
Potential violation of Law of Demeter (static property access) 352
Potential violation of Law of Demeter (static property access) 359
Consider using varargs for methods or constructors which take an array the last parameter. 390
Potential violation of Law of Demeter (object not created locally) 396
Potential violation of Law of Demeter (static property access) 404
Potential violation of Law of Demeter (object not created locally) 410
Potential violation of Law of Demeter (object not created locally) 415
Potential violation of Law of Demeter (object not created locally) 416
There is log block not surrounded by if 447
Potential violation of Law of Demeter (method chain calls) 459
Potential violation of Law of Demeter (method chain calls) 459
Potential violation of Law of Demeter (method chain calls) 459
Potential violation of Law of Demeter (method chain calls) 459
Potential violation of Law of Demeter (object not created locally) 459

jgloss/parser/KanjiParser.java

Violation Line
Possible God class (WMC=72, ATFD=20, TCC=0.17857142857142858) 23–485
The class 'KanjiParser' has a Modified Cyclomatic Complexity of 5 (Highest = 23). 57–485
The class 'KanjiParser' has a Standard Cyclomatic Complexity of 6 (Highest = 26). 57–485
Avoid using redundant field initializer for 'lookups' 66
Avoid using redundant field initializer for 'cacheHits' 70
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 72
Avoid really long methods. 128–272
The method 'parse' has a Standard Cyclomatic Complexity of 26. 128–272
The method 'parse' has a Modified Cyclomatic Complexity of 23. 128–272
Avoid using final local variables, turn them into fields 132
Avoid using final local variables, turn them into fields 133
Avoid using final local variables, turn them into fields 134
Avoid using final local variables, turn them into fields 135
Potential violation of Law of Demeter (method chain calls) 153
A high ratio of statements to labels in a switch statement. Consider refactoring. 154–246
Switch statements should have a default label 154–246
Potential violation of Law of Demeter (object not created locally) 167
Potential violation of Law of Demeter (object not created locally) 174
Potential violation of Law of Demeter (object not created locally) 185
Potential violation of Law of Demeter (method chain calls) 186
Potential violation of Law of Demeter (method chain calls) 188
Potential violation of Law of Demeter (object not created locally) 199
Potential violation of Law of Demeter (object not created locally) 206
Potential violation of Law of Demeter (object not created locally) 214
Potential violation of Law of Demeter (object not created locally) 215
Potential violation of Law of Demeter (object not created locally) 222
Potential violation of Law of Demeter (object not created locally) 223
Potential violation of Law of Demeter (object not created locally) 241
Potential violation of Law of Demeter (object not created locally) 243
Potential violation of Law of Demeter (object not created locally) 249
Potential violation of Law of Demeter (object not created locally) 255
Potential violation of Law of Demeter (object not created locally) 257
Potential violation of Law of Demeter (object not created locally) 258
These nested if statements could be combined 260–267
Potential violation of Law of Demeter (object not created locally) 262
Potential violation of Law of Demeter (object not created locally) 263
Potential violation of Law of Demeter (object not created locally) 265
Potential violation of Law of Demeter (object not created locally) 266
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 275
The method 'createAnnotations' has a Modified Cyclomatic Complexity of 23. 309–408
The method 'createAnnotations' has a Standard Cyclomatic Complexity of 23. 309–408
Potential violation of Law of Demeter (object not created locally) 326
Potential violation of Law of Demeter (object not created locally) 334
Potential violation of Law of Demeter (method chain calls) 337
Potential violation of Law of Demeter (object not created locally) 337
Potential violation of Law of Demeter (object not created locally) 338
Potential violation of Law of Demeter (method chain calls) 426
Potential violation of Law of Demeter (method chain calls) 440

jgloss/parser/ReadingAnnotation.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reading' is not final. 36
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_length' is not final. 36
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_start' is not final. 36
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reading' is not final. 56

jgloss/parser/ReadingAnnotationFilter.java

Violation Line
Avoid using Literals in Conditional Statements 101
Potential violation of Law of Demeter (method chain calls) 115
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingStart' is not final. 138
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_readingEnd' is not final. 145
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_kanjiSeparator' is not final. 149

jgloss/parser/TextAnnotation.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_length' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_start' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryForm' is not final. 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_length' is not final. 41
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reading' is not final. 41
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_start' is not final. 41
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryForm' is not final. 42
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryFormReading' is not final. 42
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_grammaticalType' is not final. 43
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_reading' is not final. 48
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_length' is not final. 48
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_start' is not final. 48
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryForm' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryFormReading' is not final. 49
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_grammaticalType' is not final. 50
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translation' is not final. 50
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryForm' is not final. 76
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaryFormReading' is not final. 77
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_grammaticalType' is not final. 80
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_translation' is not final. 83

jgloss/parser/TextAnnotationCompleter.java

Violation Line
The class 'TextAnnotationCompleter' has a Standard Cyclomatic Complexity of 12 (Highest = 21). 41–139
The class 'TextAnnotationCompleter' has a Modified Cyclomatic Complexity of 12 (Highest = 21). 41–139
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_dictionaries' is not final. 47
Consider using varargs for methods or constructors which take an array the last parameter. 47
The method 'complete' has a Modified Cyclomatic Complexity of 21. 57–138
The method 'complete' has a Standard Cyclomatic Complexity of 21. 57–138
Potential violation of Law of Demeter (object not created locally) 67–68
Potential violation of Law of Demeter (object not created locally) 77
Potential violation of Law of Demeter (method chain calls) 78–79
Potential violation of Law of Demeter (object not created locally) 79
Potential violation of Law of Demeter (object not created locally) 94
Potential violation of Law of Demeter (object not created locally) 95
Potential violation of Law of Demeter (object not created locally) 96
Deeply nested if..then statements are hard to read 97–100
Potential violation of Law of Demeter (method chain calls) 97
Potential violation of Law of Demeter (object not created locally) 97
Deeply nested if..then statements are hard to read 104–106
Potential violation of Law of Demeter (object not created locally) 110
Potential violation of Law of Demeter (method chain calls) 111
Potential violation of Law of Demeter (object not created locally) 111
Potential violation of Law of Demeter (object not created locally) 116
Potential violation of Law of Demeter (object not created locally) 117
Potential violation of Law of Demeter (object not created locally) 126
Potential violation of Law of Demeter (object not created locally) 130

jgloss/util/AbstractEscaper.java

Violation Line
Potential violation of Law of Demeter (object not created locally) 57

jgloss/util/CharacterEncodingDetector.java

Violation Line
Possible God class (WMC=77, ATFD=12, TCC=0.2) 29–451
The class 'CharacterEncodingDetector' has a Standard Cyclomatic Complexity of 10 (Highest = 46). 50–451
The class 'CharacterEncodingDetector' has a Modified Cyclomatic Complexity of 9 (Highest = 42). 50–451
All 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. 50–451
The field name indicates a constant but its modifiers do not 101
Variables should start with a lowercase character, 'DB' starts with uppercase character. 101
The field name indicates a constant but its modifiers do not 102
Variables should start with a lowercase character, 'DA' starts with uppercase character. 102
The field name indicates a constant but its modifiers do not 103
Variables should start with a lowercase character, 'OBB' starts with uppercase character. 103
The field name indicates a constant but its modifiers do not 104
Variables should start with a lowercase character, 'OBI' starts with uppercase character. 104
Variables should start with a lowercase character, 'OBJ' starts with uppercase character. 105
The field name indicates a constant but its modifiers do not 105
The field name indicates a constant but its modifiers do not 106
Variables should start with a lowercase character, 'OBH' starts with uppercase character. 106
Variables should start with a lowercase character, 'DOBD' starts with uppercase character. 107
The field name indicates a constant but its modifiers do not 107
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), 'KANJI_1990' is not final. 108
The field name indicates a constant but its modifiers do not 108
Variables should start with a lowercase character, 'KANJI_1990' starts with uppercase character. 108
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 131
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 145
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 161
Potential violation of Law of Demeter (object not created locally) 184
There is log block not surrounded by if 187
Avoid really long methods. 242–428
The method 'guessEncoding' has a Modified Cyclomatic Complexity of 42. 242–428
The method 'guessEncoding' has a Standard Cyclomatic Complexity of 46. 242–428
The method guessEncoding() has an NCSS line count of 138 242–428
Use one line for each declaration, it enhances code readability. 243
Potential violation of Law of Demeter (method chain calls) 255
A high ratio of statements to labels in a switch statement. Consider refactoring. 257–308
A high ratio of statements to labels in a switch statement. Consider refactoring. 314–352
Switch statements should have a default label 314–352
Avoid using Literals in Conditional Statements 328
Potential violation of Law of Demeter (method chain calls) 338
Potential violation of Law of Demeter (method chain calls) 345
Switch statements should have a default label 354–383
Avoid using Literals in Conditional Statements 388
Avoid using Literals in Conditional Statements 390
Avoid using Literals in Conditional Statements 392
Avoid using Literals in Conditional Statements 394
Avoid using Literals in Conditional Statements 396
Avoid using Literals in Conditional Statements 404
Avoid using Literals in Conditional Statements 405

jgloss/util/DefaultListFormatter.java

Violation Line
StringBuffers can grow quite a lot, and so may become a source of memory leak (if the owning class has a long life time). 37
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_formatter' is not final. 48
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_listBetween' is not final. 57
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_listBefore' is not final. 61
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_listAfter' is not final. 61
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_listBetween' is not final. 66
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_listAfter' is not final. 66
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_listBefore' is not final. 66
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_singleListBefore' is not final. 70
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_singleListAfter' is not final. 70
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_emptyList' is not final. 70
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_multiListBefore' is not final. 71
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_multiListBetween' is not final. 72
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_multiListAfter' is not final. 72
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 81
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_length' is not final. 91
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_buffer' is not final. 91
Avoid using Literals in Conditional Statements 125
StringBuffer constructor is initialized with size 16, but has at least 28 characters appended. 145
Avoid appending characters as strings in StringBuffer.append. 160
Potential violation of Law of Demeter (method chain calls) 166
Avoid using Literals in Conditional Statements 167
Potential violation of Law of Demeter (method chain calls) 170

jgloss/util/IOUtils.java

Violation Line
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 32
Avoid prefixing parameters by in, out or inOut. Uses Javadoc to document this behavior. 32

jgloss/util/LaTeXEscaper.java

Violation Line
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 39

jgloss/util/ListFormatter.java

Violation Line
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_length' is not final. 33
Only variables that are final should contain underscores (except for underscores in standard prefix/suffix), '_buffer' is not final. 33

jgloss/util/NullIterator.java

Violation Line
Field INSTANCE has the same name as a method 33

jgloss/util/StringTools.java

Violation Line
Possible God class (WMC=94, ATFD=8, TCC=0.0) 23–447
The class 'StringTools' has a Standard Cyclomatic Complexity of 3 (Highest = 10). 35–447
The class 'StringTools' has a Modified Cyclomatic Complexity of 3 (Highest = 10). 35–447
Avoid using Literals in Conditional Statements 71
Avoid using Literals in Conditional Statements 73
Avoid using Literals in Conditional Statements 75
Potential violation of Law of Demeter (static property access) 78
Potential violation of Law of Demeter (object not created locally) 245
Potential violation of Law of Demeter (object not created locally) 251
Potential violation of Law of Demeter (object not created locally) 256
Potential violation of Law of Demeter (object not created locally) 267
Potential violation of Law of Demeter (object not created locally) 287
Potential violation of Law of Demeter (object not created locally) 295
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes. 316–319
The method 'unicodeUnescape' has a Modified Cyclomatic Complexity of 10. 348–387
The method 'unicodeUnescape' has a Standard Cyclomatic Complexity of 10. 348–387

jgloss/util/XMLTools.java

Violation Line
Potential violation of Law of Demeter (method chain calls) 55
Potential violation of Law of Demeter (object not created locally) 61