##### Commons Jexl

- Overview
- 1.0 Javadoc
- Latest Javadoc
- Examples
- Releases and Builds
- Jar Downloads
- Reference
- Building
- JEXL Wiki

##### Project Documentation

- About
- Downloads
- Project Info
- Project Reports
  - Changes
  - Checkstyle
  - JavaDocs
  - JavaDoc Report
  - JavaDoc Warnings Report
  - JCoverage
  - Metrics
  - Unit Tests
  - Source Xref
  - Test Xref
  - Project License
  - PMD Report
  - Task List
- Development Process

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### Legend

- External Link
- Opens in a new window

## PMD Results

The following document contains the results of PMD.

## Summary

Files | Errors
--- | ---
12 | 248

## Files

Files | Violations
--- | ---
org/apache/commons/jexl/junit/Asserter.java | 1
org/apache/commons/jexl/parser/ParseException.java | 3
org/apache/commons/jexl/parser/Parser.java | 203
org/apache/commons/jexl/parser/ParserTokenManager.java | 26
org/apache/commons/jexl/parser/ParserVisitor.java | 1
org/apache/commons/jexl/parser/SimpleCharStream.java | 1
org/apache/commons/jexl/parser/TokenMgrError.java | 3
org/apache/commons/jexl/util/Coercion.java | 1
org/apache/commons/jexl/util/Introspector.java | 1
org/apache/commons/jexl/util/PropertyExecutor.java | 1
org/apache/commons/jexl/util/introspection/ClassMap.java | 4
org/apache/commons/jexl/util/introspection/MethodMap.java | 3

### org/apache/commons/jexl/junit/Asserter.java

Violation | Line
--- | ---
Avoid calls to overridable methods during construction | 60

### org/apache/commons/jexl/parser/ParseException.java

Violation | Line
--- | ---
The class 'ParseException' has a Cyclomatic Complexity of 5 (Highest = 13). | 27
The method 'getMessage' has a Cyclomatic Complexity of 10. | 105
The method 'add_escapes' has a Cyclomatic Complexity of 13. | 155

### org/apache/commons/jexl/parser/Parser.java

Violation | Line
--- | ---
Avoid really long Classes. | 21
The class 'Parser' has a Cyclomatic Complexity of 7 (Highest = 69). | 21
The method 'JexlScript' has a Cyclomatic Complexity of 12. | 39
Avoid unused local variables such as 'name' | 44
An empty statement (semicolon) not part of a loop | 67
Do not use 'if' statements that are always true or always false | 79
Do not use 'if' statements that are always true or always false | 91
Do not use 'if' statements that are always true or always false | 97
Do not use 'if' statements that are always true or always false | 102
The method 'Block' has a Cyclomatic Complexity of 11. | 113
An empty statement (semicolon) not part of a loop | 141
Do not use 'if' statements that are always true or always false | 159
Do not use 'if' statements that are always true or always false | 165
Do not use 'if' statements that are always true or always false | 170
The method 'EmptyFunction' has a Cyclomatic Complexity of 11. | 180
Do not use 'if' statements that are always true or always false | 210
Do not use 'if' statements that are always true or always false | 216
Do not use 'if' statements that are always true or always false | 221
Do not use 'if' statements that are always true or always false | 250
Do not use 'if' statements that are always true or always false | 256
Do not use 'if' statements that are always true or always false | 261
The method 'Expression' has a Cyclomatic Complexity of 11. | 292
Do not use 'if' statements that are always true or always false | 333
Do not use 'if' statements that are always true or always false | 339
Do not use 'if' statements that are always true or always false | 344
Do not use 'if' statements that are always true or always false | 372
Do not use 'if' statements that are always true or always false | 378
Do not use 'if' statements that are always true or always false | 383
The method 'ConditionalOrExpression' has a Cyclomatic Complexity of 21. | 393
An empty statement (semicolon) not part of a loop | 399
A high ratio of statements to labels in a switch statement. Consider refactoring. | 405
Do not use 'if' statements that are always true or always false | 422
Do not use 'if' statements that are always true or always false | 428
Do not use 'if' statements that are always true or always false | 433
Do not use 'if' statements that are always true or always false | 458
Do not use 'if' statements that are always true or always false | 464
Do not use 'if' statements that are always true or always false | 469
The method 'ConditionalAndExpression' has a Cyclomatic Complexity of 21. | 486
An empty statement (semicolon) not part of a loop | 492
Do not use 'if' statements that are always true or always false | 515
Do not use 'if' statements that are always true or always false | 521
Do not use 'if' statements that are always true or always false | 526
Do not use 'if' statements that are always true or always false | 551
Do not use 'if' statements that are always true or always false | 557
Do not use 'if' statements that are always true or always false | 562
The method 'InclusiveOrExpression' has a Cyclomatic Complexity of 11. | 579
An empty statement (semicolon) not part of a loop | 584
Do not use 'if' statements that are always true or always false | 605
Do not use 'if' statements that are always true or always false | 611
Do not use 'if' statements that are always true or always false | 616
The method 'ExclusiveOrExpression' has a Cyclomatic Complexity of 11. | 627
An empty statement (semicolon) not part of a loop | 632
Do not use 'if' statements that are always true or always false | 653
Do not use 'if' statements that are always true or always false | 659
Do not use 'if' statements that are always true or always false | 664
The method 'AndExpression' has a Cyclomatic Complexity of 11. | 675
An empty statement (semicolon) not part of a loop | 680
Do not use 'if' statements that are always true or always false | 701
Do not use 'if' statements that are always true or always false | 707
Do not use 'if' statements that are always true or always false | 712
Avoid really long methods. | 723
The method 'EqualityExpression' has a Cyclomatic Complexity of 37. | 723
An empty statement (semicolon) not part of a loop | 731
A high ratio of statements to labels in a switch statement. Consider refactoring. | 737
Do not use 'if' statements that are always true or always false | 754
Do not use 'if' statements that are always true or always false | 760
Do not use 'if' statements that are always true or always false | 765
Do not use 'if' statements that are always true or always false | 790
Do not use 'if' statements that are always true or always false | 796
Do not use 'if' statements that are always true or always false | 801
Do not use 'if' statements that are always true or always false | 826
Do not use 'if' statements that are always true or always false | 832
Do not use 'if' statements that are always true or always false | 837
Do not use 'if' statements that are always true or always false | 862
Do not use 'if' statements that are always true or always false | 868
Do not use 'if' statements that are always true or always false | 873
Avoid really long methods. | 890
The method 'RelationalExpression' has a Cyclomatic Complexity of 69. | 890
An empty statement (semicolon) not part of a loop | 902
A high ratio of statements to labels in a switch statement. Consider refactoring. | 908
Do not use 'if' statements that are always true or always false | 925
Do not use 'if' statements that are always true or always false | 931
Do not use 'if' statements that are always true or always false | 936
Do not use 'if' statements that are always true or always false | 961
Do not use 'if' statements that are always true or always false | 967
Do not use 'if' statements that are always true or always false | 972
Do not use 'if' statements that are always true or always false | 997
Do not use 'if' statements that are always true or always false | 1003
Do not use 'if' statements that are always true or always false | 1008
Do not use 'if' statements that are always true or always false | 1033
Do not use 'if' statements that are always true or always false | 1039
Do not use 'if' statements that are always true or always false | 1044
Do not use 'if' statements that are always true or always false | 1069
Do not use 'if' statements that are always true or always false | 1075
Do not use 'if' statements that are always true or always false | 1080
Do not use 'if' statements that are always true or always false | 1105
Do not use 'if' statements that are always true or always false | 1111
Do not use 'if' statements that are always true or always false | 1116
Do not use 'if' statements that are always true or always false | 1141
Do not use 'if' statements that are always true or always false | 1147
Do not use 'if' statements that are always true or always false | 1152
Do not use 'if' statements that are always true or always false | 1177
Do not use 'if' statements that are always true or always false | 1183
Do not use 'if' statements that are always true or always false | 1188
The method 'AdditiveExpression' has a Cyclomatic Complexity of 21. | 1205
An empty statement (semicolon) not part of a loop | 1211
Do not use 'if' statements that are always true or always false | 1234
Do not use 'if' statements that are always true or always false | 1240
Do not use 'if' statements that are always true or always false | 1245
Do not use 'if' statements that are always true or always false | 1270
Do not use 'if' statements that are always true or always false | 1276
Do not use 'if' statements that are always true or always false | 1281
Avoid really long methods. | 1298
The method 'MultiplicativeExpression' has a Cyclomatic Complexity of 45. | 1298
An empty statement (semicolon) not part of a loop | 1307
A high ratio of statements to labels in a switch statement. Consider refactoring. | 1313
Do not use 'if' statements that are always true or always false | 1330
Do not use 'if' statements that are always true or always false | 1336
Do not use 'if' statements that are always true or always false | 1341
Do not use 'if' statements that are always true or always false | 1366
Do not use 'if' statements that are always true or always false | 1372
Do not use 'if' statements that are always true or always false | 1377
Do not use 'if' statements that are always true or always false | 1402
Do not use 'if' statements that are always true or always false | 1408
Do not use 'if' statements that are always true or always false | 1413
Do not use 'if' statements that are always true or always false | 1438
Do not use 'if' statements that are always true or always false | 1444
Do not use 'if' statements that are always true or always false | 1449
Do not use 'if' statements that are always true or always false | 1474
Do not use 'if' statements that are always true or always false | 1480
Do not use 'if' statements that are always true or always false | 1485
Avoid really long methods. | 1502
The method 'UnaryExpression' has a Cyclomatic Complexity of 35. | 1502
Do not use 'if' statements that are always true or always false | 1520
Do not use 'if' statements that are always true or always false | 1526
Do not use 'if' statements that are always true or always false | 1531
Do not use 'if' statements that are always true or always false | 1556
Do not use 'if' statements that are always true or always false | 1562
Do not use 'if' statements that are always true or always false | 1567
Do not use 'if' statements that are always true or always false | 1592
Do not use 'if' statements that are always true or always false | 1598
Do not use 'if' statements that are always true or always false | 1603
Do not use 'if' statements that are always true or always false | 1628
Do not use 'if' statements that are always true or always false | 1634
Do not use 'if' statements that are always true or always false | 1639
Avoid unused local variables such as 't' | 1699
The method 'Statement' has a Cyclomatic Complexity of 11. | 1828
Do not use 'if' statements that are always true or always false | 1895
Do not use 'if' statements that are always true or always false | 1901
Do not use 'if' statements that are always true or always false | 1906
Do not use 'if' statements that are always true or always false | 1933
Do not use 'if' statements that are always true or always false | 1939
Do not use 'if' statements that are always true or always false | 1944
Do not use 'if' statements that are always true or always false | 1971
Do not use 'if' statements that are always true or always false | 1977
Do not use 'if' statements that are always true or always false | 1982
The method 'IfStatement' has a Cyclomatic Complexity of 10. | 1992
An empty statement (semicolon) not part of a loop | 2010
Do not use 'if' statements that are always true or always false | 2021
Do not use 'if' statements that are always true or always false | 2027
Do not use 'if' statements that are always true or always false | 2032
Do not use 'if' statements that are always true or always false | 2062
Do not use 'if' statements that are always true or always false | 2068
Do not use 'if' statements that are always true or always false | 2073
Do not use 'if' statements that are always true or always false | 2105
Do not use 'if' statements that are always true or always false | 2111
Do not use 'if' statements that are always true or always false | 2116
The method 'Method' has a Cyclomatic Complexity of 13. | 2126
A non-case label was present in a switch statement | 2150
An empty statement (semicolon) not part of a loop | 2153
An empty statement (semicolon) not part of a loop | 2165
Do not use 'if' statements that are always true or always false | 2177
Do not use 'if' statements that are always true or always false | 2183
Do not use 'if' statements that are always true or always false | 2188
The method 'ArrayAccess' has a Cyclomatic Complexity of 15. | 2198
An empty statement (semicolon) not part of a loop | 2226
Do not use 'if' statements that are always true or always false | 2242
Do not use 'if' statements that are always true or always false | 2248
Do not use 'if' statements that are always true or always false | 2253
The method 'Reference' has a Cyclomatic Complexity of 21. | 2279
An empty statement (semicolon) not part of a loop | 2300
Do not use 'if' statements that are always true or always false | 2348
Do not use 'if' statements that are always true or always false | 2354
Do not use 'if' statements that are always true or always false | 2359
The method 'jj_3R_43' has a Cyclomatic Complexity of 11. | 2791
The method 'jj_3R_15' has a Cyclomatic Complexity of 11. | 2913
The method 'jj_3R_101' has a Cyclomatic Complexity of 11. | 3019
The method 'jj_3_8' has a Cyclomatic Complexity of 13. | 3069
The method 'jj_3_5' has a Cyclomatic Complexity of 13. | 3169
The method 'jj_3R_102' has a Cyclomatic Complexity of 11. | 3219
The method 'jj_3R_57' has a Cyclomatic Complexity of 11. | 3275
The method 'jj_3R_86' has a Cyclomatic Complexity of 17. | 3598
Avoid unused private fields such as 'jj_semLA' | 3926
Avoid if (x != y) ..; else ..; | 4021
Avoid if (x != y) ..; else ..; | 4071
Avoid if (x != y) ..; else ..; | 4083
Avoid using implementation types like 'java.util.Vector'; use the interface instead | 4098
The method 'jj_add_error_token' has a Cyclomatic Complexity of 12. | 4108
The method 'generateParseException' has a Cyclomatic Complexity of 11. | 4140
The method 'jj_rescan_token' has a Cyclomatic Complexity of 12. | 4185
Switch statements should have a default label | 4193
A high number of public methods and attributes in an object can indicate the class may need to be broken up for exhaustive testing may prove difficult. | 4253
A value of 55 may denote a high amount of coupling within the class | 4253

### org/apache/commons/jexl/parser/ParserTokenManager.java

Violation | Line
--- | ---
The class 'ParserTokenManager' has a Cyclomatic Complexity of 9 (Highest = 67). | 19
The method 'jjStopStringLiteralDfa_0' has a Cyclomatic Complexity of 18. | 26
The method 'jjMoveStringLiteralDfa0_0' has a Cyclomatic Complexity of 37. | 103
The method 'jjMoveStringLiteralDfa1_0' has a Cyclomatic Complexity of 33. | 186
Avoid if (x != y) ..; else ..; | 199
Avoid if (x != y) ..; else ..; | 201
Avoid if (x != y) ..; else ..; | 203
Avoid if (x != y) ..; else ..; | 211
Avoid if (x != y) ..; else ..; | 213
Avoid if (x != y) ..; else ..; | 245
The method 'jjMoveStringLiteralDfa2_0' has a Cyclomatic Complexity of 17. | 262
Avoid if (x != y) ..; else ..; | 273
The method 'jjMoveStringLiteralDfa3_0' has a Cyclomatic Complexity of 11. | 306
Avoid if (x != y) ..; else ..; | 317
Avoid if (x != y) ..; else ..; | 319
Avoid if (x != y) ..; else ..; | 351
Avoid unused private methods such as 'jjCheckNAddStates' | 428
Avoid really long methods. | 435
The method 'jjMoveNfa_0' has a Cyclomatic Complexity of 67. | 435
Avoid unused local variables such as 'nextStates' | 436
Avoid unused local variables such as 'j' | 441
Avoid if (x != y) ..; else ..; | 450
Avoid calls to overridable methods during construction | 643
Avoid unused local variables such as 'kind' | 698
Avoid unused local variables such as 'specialToken' | 699
Avoid if (x != y) ..; else ..; | 725

### org/apache/commons/jexl/parser/ParserVisitor.java

Violation | Line
--- | ---
A value of 44 may denote a high amount of coupling within the class | 106

### org/apache/commons/jexl/parser/SimpleCharStream.java

Violation | Line
--- | ---
Avoid if (x != y) ..; else ..; | 353

### org/apache/commons/jexl/parser/TokenMgrError.java

Violation | Line
--- | ---
The class 'TokenMgrError' has a Cyclomatic Complexity of 3 (Highest = 13). | 19
The method 'addEscapes' has a Cyclomatic Complexity of 13. | 58
Avoid unused formal parameters such as 'lexState' | 111

### org/apache/commons/jexl/util/Coercion.java

Violation | Line
--- | ---
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor to silence this warning. | 160

### org/apache/commons/jexl/util/Introspector.java

Violation | Line
--- | ---
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor to silence this warning. | 54

### org/apache/commons/jexl/util/PropertyExecutor.java

Violation | Line
--- | ---
Avoid calls to overridable methods during construction | 50

### org/apache/commons/jexl/util/introspection/ClassMap.java

Violation | Line
--- | ---
The class 'ClassMap' has a Cyclomatic Complexity of 5 (Highest = 11). | 38
The method 'makeMethodKey' has a Cyclomatic Complexity of 11. | 174
Avoid reassigning parameters such as 'upcastCount' | 284
Avoid empty catch blocks | 306

### org/apache/commons/jexl/util/introspection/MethodMap.java

Violation | Line
--- | ---
The class 'MethodMap' has a Cyclomatic Complexity of 6 (Highest = 12). | 37
Switch statements should have a default label | 167
The method 'isMethodInvocationConvertible' has a Cyclomatic Complexity of 12. | 309