The table below shows all metrics for FilePageFormat.java.
| BLOCKS | 3.00 | Number of blocks |  |
| BLOCK_COMMENT | 20.00 | Number of block comment lines |  |
| COMMENTS | 26.00 | Comment lines |  |
| COMMENT_DENSITY | 1.73 | Comment density |  |
| COMPARISONS | 0.00 | Number of comparison operators |  |
| CYCLOMATIC | 2.00 | Cyclomatic complexity |  |
| DECL_COMMENTS | 3.00 | Comments in declarations |  |
| DOC_COMMENT | 6.00 | Number of javadoc comment lines |  |
| ELOC | 15.00 | Effective lines of code |  |
| EXEC_COMMENTS | 0.00 | Comments in executable code |  |
| EXITS | 9.00 | Procedure exits |  |
| FUNCTIONS | 1.00 | Number of function declarations |  |
| HALSTEAD_DIFFICULTY | 11.50 | Halstead difficulty |  |
| HALSTEAD_EFFORT | 0.00 | Halstead effort |  |
| INTERFACE_COMPLEXITY | 2.00 | Interface complexity |  |
| JAVA0001 | 0.00 | JAVA0001 Package name does not contain only lower case letters |  |
| JAVA0002 | 0.00 | JAVA0002 Package name does not begin with a top level domain name or country code |  |
| JAVA0003 | 0.00 | JAVA0003 Minimize use of on-demand (.*) imports |  |
| JAVA0004 | 0.00 | JAVA0004 Unnecessary import from java.lang |  |
| JAVA0005 | 0.00 | JAVA0005 Imports not in specified order |  |
| JAVA0006 | 0.00 | JAVA0006 Empty finally block |  |
| JAVA0007 | 0.00 | JAVA0007 Should not declare public field |  |
| JAVA0008 | 0.00 | JAVA0008 Empty catch block |  |
| JAVA0009 | 0.00 | JAVA0009 Protected member in final class |  |
| JAVA0010 | 0.00 | JAVA0010 Non-instantiable class does not contain a non-private static member |  |
| JAVA0011 | 0.00 | JAVA0011 Abstract class does not contain an abstract method |  |
| JAVA0012 | 0.00 | JAVA0012 Non-constructor method with same name as declaring class |  |
| JAVA0013 | 0.00 | JAVA0013 Non-blank final field is not static |  |
| JAVA0014 | 0.00 | JAVA0014 Class with only static members has non-private constructor |  |
| JAVA0015 | 0.00 | JAVA0015 Package class contains public nested type |  |
| JAVA0016 | 0.00 | JAVA0016 Abstract class contains public constructor |  |
| JAVA0017 | 0.00 | JAVA0017 Class name does not have required form |  |
| JAVA0018 | 0.00 | JAVA0018 Method name does not have required form |  |
| JAVA0019 | 0.00 | JAVA0019 Interface name does not have required form |  |
| JAVA0020 | 0.00 | JAVA0020 Field name does not have required form |  |
| JAVA0021 | 0.00 | JAVA0021 Interface method name does not have required form |  |
| JAVA0022 | 0.00 | JAVA0022 Static final field name does not have required form |  |
| JAVA0023 | 0.00 | JAVA0023 Empty finalize method |  |
| JAVA0024 | 0.00 | JAVA0024 Empty class |  |
| JAVA0025 | 0.00 | JAVA0025 Method override is empty |  |
| JAVA0026 | 0.00 | JAVA0026 Finalize method with parameters |  |
| JAVA0029 | 0.00 | JAVA0029 Private method not used |  |
| JAVA0030 | 0.00 | JAVA0030 Private field not used |  |
| JAVA0031 | 0.00 | JAVA0031 Case statement not properly closed |  |
| JAVA0032 | 0.00 | JAVA0032 Switch statement missing default |  |
| JAVA0033 | 0.00 | JAVA0033 default: not last case in switch statement |  |
| JAVA0034 | 0.00 | JAVA0034 Missing braces in if statement |  |
| JAVA0035 | 0.00 | JAVA0035 Missing braces in for statement |  |
| JAVA0036 | 0.00 | JAVA0036 Missing braces in while statement |  |
| JAVA0038 | 0.00 | JAVA0038 Non-case label in switch statement |  |
| JAVA0039 | 0.00 | JAVA0039 Break statement with label |  |
| JAVA0040 | 0.00 | JAVA0040 Switch statement contains N cases (maximum: M) |  |
| JAVA0041 | 0.00 | JAVA0041 Nested synchronized block |  |
| JAVA0042 | 0.00 | JAVA0042 Empty synchronized statement |  |
| JAVA0043 | 0.00 | JAVA0043 Inner class does not use outer class |  |
| JAVA0044 | 0.00 | JAVA0044 Serializable class with no instance variables |  |
| JAVA0045 | 0.00 | JAVA0045 Serializable class with only transient fields |  |
| JAVA0046 | 0.00 | JAVA0046 Name of class not derived from Exception ends with 'Exception' |  |
| JAVA0047 | 0.00 | JAVA0047 Serializable class derives from invalid base class |  |
| JAVA0048 | 0.00 | JAVA0048 Name of class derived from Exception does not end with 'Exception' |  |
| JAVA0049 | 0.00 | JAVA0049 Nested block at depth N (maximum: M) |  |
| JAVA0050 | 0.00 | JAVA0050 Class derives from java.lang.Error |  |
| JAVA0051 | 0.00 | JAVA0051 Class derives from java.lang.RuntimeException |  |
| JAVA0052 | 0.00 | JAVA0052 Class derives from java.lang.Throwable |  |
| JAVA0053 | 0.00 | JAVA0053 Unused label |  |
| JAVA0054 | 0.00 | JAVA0054 Inheritance depth N exceeds maximum M |  |
| JAVA0055 | 0.00 | JAVA0055 Class should be interface |  |
| JAVA0056 | 0.00 | JAVA0056 Unnecessary abstract modifier for interface or annotation |  |
| JAVA0057 | 0.00 | JAVA0057 Unnecessary default constructor |  |
| JAVA0058 | 0.00 | JAVA0058 Constructor calls super() |  |
| JAVA0059 | 0.00 | JAVA0059 Method override only calls super() |  |
| JAVA0061 | 0.00 | JAVA0061 Inaccessible member in anonymous class |  |
| JAVA0062 | 0.00 | JAVA0062 Public class missing public member or protected constructor |  |
| JAVA0063 | 0.00 | JAVA0063 Identifier name should not contain '$' |  |
| JAVA0064 | 0.00 | JAVA0064 N variations of identifier name (maximum: M) |  |
| JAVA0065 | 0.00 | JAVA0065 Unnecessary final modifier for method in final class |  |
| JAVA0066 | 0.00 | JAVA0066 Unnecessary modifier for interface nested type |  |
| JAVA0067 | 0.00 | JAVA0067 Array descriptor on identifier name |  |
| JAVA0068 | 0.00 | JAVA0068 Modifiers not declared in recommended order |  |
| JAVA0071 | 0.00 | JAVA0071 Strings compared with == |  |
| JAVA0073 | 0.00 | JAVA0073 Integer division in floating-point context |  |
| JAVA0074 | 0.00 | JAVA0074 Use of Object.notify() |  |
| JAVA0075 | 0.00 | JAVA0075 Method parameter hides field |  |
| JAVA0076 | 0.00 | JAVA0076 Use of magic number |  |
| JAVA0077 | 0.00 | JAVA0077 Private field not used in declaring class |  |
| JAVA0078 | 0.00 | JAVA0078 Floating point values compared with == |  |
| JAVA0079 | 0.00 | JAVA0079 Use of instance to reference static member |  |
| JAVA0080 | 0.00 | JAVA0080 Import declaration not used |  |
| JAVA0081 | 0.00 | JAVA0081 Boolean literal in comparison |  |
| JAVA0082 | 0.00 | JAVA0082 Unnecessary widening cast |  |
| JAVA0083 | 0.00 | JAVA0083 Unnecessary instanceof test |  |
| JAVA0084 | 0.00 | JAVA0084 Should use compound assignment operator |  |
| JAVA0085 | 0.00 | JAVA0085 Use of sun.* class |  |
| JAVA0087 | 0.00 | JAVA0087 Use of Thread.sleep() |  |
| JAVA0089 | 0.00 | JAVA0089 Use of restricted package |  |
| JAVA0092 | 0.00 | JAVA0092 Use of restricted type |  |
| JAVA0093 | 0.00 | JAVA0093 Redundant assignment |  |
| JAVA0094 | 0.00 | JAVA0094 Field hides a superclass field |  |
| JAVA0095 | 0.00 | JAVA0095 Uninitialized private field |  |
| JAVA0096 | 0.00 | JAVA0096 Field in nested class hides outer field |  |
| JAVA0098 | 0.00 | JAVA0098 Minimize use of implicit field initializers |  |
| JAVA0100 | 0.00 | JAVA0100 Class contains N non-final fields (maximum: M) |  |
| JAVA0101 | 0.00 | JAVA0101 Unnecessary modifier for field in interface |  |
| JAVA0102 | 0.00 | JAVA0102 Last statement in finalize() not super.finalize() |  |
| JAVA0103 | 0.00 | JAVA0103 Explicit call to finalize() |  |
| JAVA0104 | 0.00 | JAVA0104 finalize() only calls super.finalize() |  |
| JAVA0105 | 0.00 | JAVA0105 Duplicate import declaration |  |
| JAVA0106 | 0.00 | JAVA0106 Unnecessary import from current package |  |
| JAVA0108 | 0.00 | JAVA0108 Incorrect javadoc: no @param tag for 'parameter' |  |
| JAVA0109 | 0.00 | JAVA0109 Incorrect javadoc: no parameter 'parameter' |  |
| JAVA0110 | 0.00 | JAVA0110 Incorrect javadoc: no @return tag |  |
| JAVA0111 | 0.00 | JAVA0111 Incorrect javadoc: @return tag for void method |  |
| JAVA0112 | 0.00 | JAVA0112 Incorrect javadoc: no exception 'exception' in throws |  |
| JAVA0113 | 1.00 | JAVA0113 Incorrect javadoc: no @author tag |  |
| JAVA0114 | 1.00 | JAVA0114 Incorrect javadoc: no @version tag |  |
| JAVA0115 | 0.00 | JAVA0115 Incorrect javadoc: no @throws or @exception tag for 'exception' |  |
| JAVA0116 | 0.00 | JAVA0116 Missing javadoc: field 'field' |  |
| JAVA0117 | 0.00 | JAVA0117 Missing javadoc: method 'method' |  |
| JAVA0118 | 0.00 | JAVA0118 Missing javadoc: type 'type' |  |
| JAVA0119 | 0.00 | JAVA0119 Control variable changed within body of for loop |  |
| JAVA0123 | 0.00 | JAVA0123 Use all three components of for loop |  |
| JAVA0125 | 0.00 | JAVA0125 Continue statement with label |  |
| JAVA0126 | 0.00 | JAVA0126 Method declares unchecked exception in throws |  |
| JAVA0128 | 0.00 | JAVA0128 Public constructor in non-public class |  |
| JAVA0130 | 0.00 | JAVA0130 Non-static method does not use instance fields |  |
| JAVA0131 | 0.00 | JAVA0131 Compatible method does not override base |  |
| JAVA0132 | 0.00 | JAVA0132 Method overload with compatible signature |  |
| JAVA0133 | 0.00 | JAVA0133 Non-synchronized method overrides synchronized method |  |
| JAVA0135 | 0.00 | JAVA0135 Only one of Object.equals and Object.hashCode defined: missing 'method' |  |
| JAVA0136 | 0.00 | JAVA0136 N methods defined in class (maximum: M) |  |
| JAVA0137 | 0.00 | JAVA0137 Non-abstract class missing constructor |  |
| JAVA0138 | 0.00 | JAVA0138 N parameters defined for method (maximum: M) |  |
| JAVA0139 | 0.00 | JAVA0139 Definition of main other than public static void main(java.lang.String[]) |  |
| JAVA0141 | 0.00 | JAVA0141 Unnecessary modifier for method in interface |  |
| JAVA0143 | 0.00 | JAVA0143 Synchronized method |  |
| JAVA0144 | 0.00 | JAVA0144 Line exceeds maximum M characters |  |
| JAVA0145 | 43.00 | JAVA0145 Tab character used in source file |  |
| JAVA0150 | 0.00 | JAVA0150 java.lang.Error (or subclass) thrown |  |
| JAVA0153 | 0.00 | JAVA0153 Inefficient conversion of integer to string |  |
| JAVA0159 | 0.00 | JAVA0159 Inefficient conversion of string to integer |  |
| JAVA0160 | 0.00 | JAVA0160 Method does not throw specified exception |  |
| JAVA0161 | 0.00 | JAVA0161 Conditional wait() not in loop |  |
| JAVA0163 | 0.00 | JAVA0163 Empty statement |  |
| JAVA0165 | 0.00 | JAVA0165 Conflicting return statement in finally block |  |
| JAVA0166 | 1.00 | JAVA0166 Generic exception caught |  |
| JAVA0167 | 0.00 | JAVA0167 ThreadDeath not rethrown |  |
| JAVA0169 | 0.00 | JAVA0169 Unnecessary catch block: exception 'exception' |  |
| JAVA0170 | 0.00 | JAVA0170 Caught exception not derived from java.lang.Exception |  |
| JAVA0171 | 0.00 | JAVA0171 Unused local variable |  |
| JAVA0173 | 0.00 | JAVA0173 Unused method parameter |  |
| JAVA0174 | 0.00 | JAVA0174 Assigned local variable never used |  |
| JAVA0175 | 0.00 | JAVA0175 Successive assignment to variable |  |
| JAVA0176 | 0.00 | JAVA0176 Local variable name does not have required form |  |
| JAVA0177 | 0.00 | JAVA0177 Variable declaration missing initializer |  |
| JAVA0179 | 0.00 | JAVA0179 Local variable hides visible field |  |
| JAVA0233 | 0.00 | JAVA0233 Definition of serialVersionUID other than 'private static final long serialVersionUID' |  |
| JAVA0234 | 1.00 | JAVA0234 Class is Serializable but does not define serialVersionUID |  |
| JAVA0235 | 0.00 | JAVA0235 Class defines serialVersionUID but does not implement Serializable |  |
| JAVA0236 | 0.00 | JAVA0236 Attempt to clone an object which does not implement Cloneable |  |
| JAVA0237 | 1.00 | JAVA0237 Class implements Cloneable but does not have public clone method |  |
| JAVA0238 | 0.00 | JAVA0238 Clone method does not call super.clone() |  |
| JAVA0239 | 0.00 | JAVA0239 Class declares 'readObject' or 'writeObject' but does not implement Serializable |  |
| JAVA0240 | 0.00 | JAVA0240 Serializable class which declares readObject or writeObject but not both |  |
| JAVA0241 | 0.00 | JAVA0241 'readObject' or 'writeObject' should be declared private in Serializable class |  |
| JAVA0242 | 0.00 | JAVA0242 Transient field in non-Serializable class |  |
| JAVA0243 | 0.00 | JAVA0243 'readResolve' or 'writeReplace' should be declared private or protected |  |
| JAVA0244 | 0.00 | JAVA0244 Field or method name in subclass differs only by case from inherited field or method |  |
| JAVA0245 | 0.00 | JAVA0245 JUnit TestCase with non-trivial constructor |  |
| JAVA0246 | 0.00 | JAVA0246 JUnit assertXXX statement missing message parameter |  |
| JAVA0247 | 0.00 | JAVA0247 JUnit 'setUp()' and 'tearDown()' should call super method |  |
| JAVA0248 | 0.00 | JAVA0248 JUnit method 'setUp' or 'tearDown' with incorrect signature |  |
| JAVA0249 | 0.00 | JAVA0249 JUnit TestCase 'suite()' should be declared static |  |
| JAVA0250 | 0.00 | JAVA0250 JUnit TestCase declares testXXX method with incorrect signature |  |
| JAVA0251 | 0.00 | JAVA0251 Use '%n' for line breaks in printf/format for platform independence |  |
| JAVA0252 | 0.00 | JAVA0252 'enum' is a Java 1.5 reserved word |  |
| JAVA0253 | 0.00 | JAVA0253 Not all enum constants consumed in switch statement |  |
| JAVA0254 | 0.00 | JAVA0254 Use enhanced for loop construct instead of Iterator |  |
| JAVA0255 | 0.00 | JAVA0255 Result of method invocation not used |  |
| JAVA0256 | 0.00 | JAVA0256 Assignment of external collection/array to field |  |
| JAVA0257 | 0.00 | JAVA0257 Use of 'Constant Interface' anti-pattern |  |
| JAVA0258 | 0.00 | JAVA0258 Implement Iterable for foreach compatibility |  |
| JAVA0259 | 0.00 | JAVA0259 Return of collection/array field |  |
| JAVA0260 | 0.00 | JAVA0260 Use 'enum' instead of Enumerated Type pattern |  |
| JAVA0261 | 0.00 | JAVA0261 Use specialized Enum collection types |  |
| JAVA0262 | 0.00 | JAVA0262 Use of char in integer context |  |
| JAVA0263 | 0.00 | JAVA0263 Long literal ends with 'l' instead of 'L' |  |
| JAVA0264 | 0.00 | JAVA0264 Integer math in long context - check for overflow |  |
| JAVA0265 | 0.00 | JAVA0265 Use of Throwable.printStackTrace() |  |
| JAVA0266 | 0.00 | JAVA0266 Use of System.out |  |
| JAVA0267 | 0.00 | JAVA0267 Use of System.err |  |
| JAVA0269 | 0.00 | JAVA0269 Contents of StringBuffer never used |  |
| JAVA0270 | 0.00 | JAVA0270 Use Java 5.0 enhanced for loop construct to iterate over all elements in an array |  |
| JAVA0271 | 0.00 | JAVA0271 Minimize use of on-demand (.*) static imports |  |
| JAVA0272 | 0.00 | JAVA0272 Thread.run() called |  |
| JAVA0273 | 0.00 | JAVA0273 Non-final derivative of Thread calls start() in constructor |  |
| JAVA0274 | 0.00 | JAVA0274 Serializable class has a synchronized readObject() |  |
| JAVA0275 | 0.00 | JAVA0275 Serializable class has a synchronized writeObject() and no other synchronized methods |  |
| JAVA0276 | 0.00 | JAVA0276 Unnecessary use of String constructor |  |
| JAVA0277 | 0.00 | JAVA0277 Iterator.next() implementation does not throw NoSuchElementException |  |
| JAVA0278 | 0.00 | JAVA0278 Unnecessary use of Boolean constructor |  |
| JAVA0279 | 0.00 | JAVA0279 Serialization method readObject or readObjectNoData calls an overridable method |  |
| JAVA0280 | 0.00 | JAVA0280 IllegalMonitorStateException caught |  |
| JAVA0281 | 0.00 | JAVA0281 Iterator.next() not called in loop |  |
| JAVA0282 | 0.00 | JAVA0282 Call to Iterator.next() in loop which does not test Iterator.hasNext() |  |
| JAVA0283 | 0.00 | JAVA0283 Control variable not updated in loop body |  |
| JAVA0284 | 0.00 | JAVA0284 Explicit garbage collection |  |
| JAVA0285 | 0.00 | JAVA0285 Dereference of potentially null variable |  |
| JAVA0286 | 0.00 | JAVA0286 Dereference of null variable |  |
| JAVA0287 | 0.00 | JAVA0287 Unnecessary null check |  |
| JAVA0288 | 0.00 | JAVA0288 Inconsistent null check |  |
| LINES | 49.00 | Number of lines in the source file |  |
| LINE_COMMENT | 0.00 | Number of line comments |  |
| LOC | 18.00 | Lines of code |  |
| LOGICAL_LINES | 9.00 | Number of statements |  |
| LOOPS | 0.00 | Number of loops |  |
| NEST_DEPTH | 2.00 | Maximum nesting depth |  |
| OPERANDS | 46.00 | Number of operands |  |
| OPERATORS | 79.00 | Number of operators |  |
| PARAMS | 1.00 | Number of formal parameter declarations |  |
| PROGRAM_LENGTH | 125.00 | Halstead program length |  |
| PROGRAM_VOCAB | 45.00 | Halstead program vocabulary |  |
| PROGRAM_VOLUME | 0.00 | Halstead program volume |  |
| RETURNS | 1.00 | Number of return points from functions |  |
| SIZE | 1529.00 | Size of the file in bytes |  |
| UNIQUE_OPERANDS | 30.00 | Number of unique operands |  |
| UNIQUE_OPERATORS | 15.00 | Number of unique operators |  |
| WHITESPACE | 5.00 | Number of whitespace lines |  |