Fork me on GitHub

PMD Results

The following document contains the results of PMD 7.7.0.

Violations By Priority

Priority 3

gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonWriter.java

Rule Violation Line
GodClass Possible God Class (WMC=50, ATFD=29, TCC=21.429%) 39
CyclomaticComplexity The method 'writeFieldValue(IBoundFieldValue, Object)' has a cyclomatic complexity of 10. 102

gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlWriter.java

Rule Violation Line
CouplingBetweenObjects A value of 31 may denote a high amount of coupling within the class (threshold: 20) 6406

gov/nist/secauto/metaschema/databind/model/impl/InstanceModelFieldComplex.java

Rule Violation Line
CyclomaticComplexity The method 'newInstance(Field, DefinitionField, IBoundDefinitionModelAssembly)' has a cyclomatic complexity of 12. 80
CognitiveComplexity The constructor 'InstanceModelFieldComplex(Field, BoundField, IGroupAs, DefinitionField, IBoundDefinitionModelAssembly)' has a cognitive complexity of 16, current threshold is 15 136

gov/nist/secauto/metaschema/databind/model/info/IModelInstanceCollectionInfo.java

Rule Violation Line
CognitiveComplexity The method 'of(IBoundInstanceModel<T>)' has a cognitive complexity of 19, current threshold is 15 29
CyclomaticComplexity The method 'of(IBoundInstanceModel<T>)' has a cyclomatic complexity of 17. 29

gov/nist/secauto/metaschema/databind/model/metaschema/BindingConstraintLoader.java

Rule Violation Line
CouplingBetweenObjects A value of 40 may denote a high amount of coupling within the class (threshold: 20) 6422
CognitiveComplexity The method 'parseResource(URI, Deque<URI>)' has a cognitive complexity of 20, current threshold is 15 88
CyclomaticComplexity The method 'parseResource(URI, Deque<URI>)' has a cyclomatic complexity of 12. 88
CyclomaticComplexity The method 'parseScopedConstraints(MetaschemaModuleConstraints, ISource)' has a cyclomatic complexity of 10. 184

gov/nist/secauto/metaschema/databind/model/metaschema/impl/BindingConstants.java

Rule Violation Line
DataClass The class 'BindingConstants' is suspected to be a Data Class (WOC=0.000%, NOPA=7, NOAM=0, WMC=1) 9

gov/nist/secauto/metaschema/databind/model/metaschema/impl/ConstraintBindingSupport.java

Rule Violation Line
GodClass Possible God Class (WMC=70, ATFD=51, TCC=0.000%) 61

gov/nist/secauto/metaschema/databind/model/metaschema/impl/InstanceModelAssemblyInline.java

Rule Violation Line
CouplingBetweenObjects A value of 21 may denote a high amount of coupling within the class (threshold: 20) 6229

gov/nist/secauto/metaschema/databind/model/metaschema/impl/InstanceModelFieldInline.java

Rule Violation Line
CouplingBetweenObjects A value of 21 may denote a high amount of coupling within the class (threshold: 20) 6216

gov/nist/secauto/metaschema/databind/model/metaschema/impl/ModelSupport.java

Rule Violation Line
CouplingBetweenObjects A value of 21 may denote a high amount of coupling within the class (threshold: 20) 6248

Files

gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonWriter.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=50, ATFD=29, TCC=21.429%) 3 39
CyclomaticComplexity The method 'writeFieldValue(IBoundFieldValue, Object)' has a cyclomatic complexity of 10. 3 102

gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlWriter.java

Rule Violation Priority Line
CouplingBetweenObjects A value of 31 may denote a high amount of coupling within the class (threshold: 20) 3 6406

gov/nist/secauto/metaschema/databind/model/impl/InstanceModelFieldComplex.java

Rule Violation Priority Line
CyclomaticComplexity The method 'newInstance(Field, DefinitionField, IBoundDefinitionModelAssembly)' has a cyclomatic complexity of 12. 3 80
CognitiveComplexity The constructor 'InstanceModelFieldComplex(Field, BoundField, IGroupAs, DefinitionField, IBoundDefinitionModelAssembly)' has a cognitive complexity of 16, current threshold is 15 3 136

gov/nist/secauto/metaschema/databind/model/info/IModelInstanceCollectionInfo.java

Rule Violation Priority Line
CognitiveComplexity The method 'of(IBoundInstanceModel<T>)' has a cognitive complexity of 19, current threshold is 15 3 29
CyclomaticComplexity The method 'of(IBoundInstanceModel<T>)' has a cyclomatic complexity of 17. 3 29

gov/nist/secauto/metaschema/databind/model/metaschema/BindingConstraintLoader.java

Rule Violation Priority Line
CouplingBetweenObjects A value of 40 may denote a high amount of coupling within the class (threshold: 20) 3 6422
CognitiveComplexity The method 'parseResource(URI, Deque<URI>)' has a cognitive complexity of 20, current threshold is 15 3 88
CyclomaticComplexity The method 'parseResource(URI, Deque<URI>)' has a cyclomatic complexity of 12. 3 88
CyclomaticComplexity The method 'parseScopedConstraints(MetaschemaModuleConstraints, ISource)' has a cyclomatic complexity of 10. 3 184

gov/nist/secauto/metaschema/databind/model/metaschema/impl/BindingConstants.java

Rule Violation Priority Line
DataClass The class 'BindingConstants' is suspected to be a Data Class (WOC=0.000%, NOPA=7, NOAM=0, WMC=1) 3 9

gov/nist/secauto/metaschema/databind/model/metaschema/impl/ConstraintBindingSupport.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=70, ATFD=51, TCC=0.000%) 3 61

gov/nist/secauto/metaschema/databind/model/metaschema/impl/InstanceModelAssemblyInline.java

Rule Violation Priority Line
CouplingBetweenObjects A value of 21 may denote a high amount of coupling within the class (threshold: 20) 3 6229

gov/nist/secauto/metaschema/databind/model/metaschema/impl/InstanceModelFieldInline.java

Rule Violation Priority Line
CouplingBetweenObjects A value of 21 may denote a high amount of coupling within the class (threshold: 20) 3 6216

gov/nist/secauto/metaschema/databind/model/metaschema/impl/ModelSupport.java

Rule Violation Priority Line
CouplingBetweenObjects A value of 21 may denote a high amount of coupling within the class (threshold: 20) 3 6248

Suppressed Violations

Filename Rule message Suppression type Reason
gov/nist/secauto/metaschema/databind/AbstractModuleLoaderStrategy.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation @suppresswarnings
gov/nist/secauto/metaschema/databind/AbstractModuleLoaderStrategy.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation @suppresswarnings
gov/nist/secauto/metaschema/databind/AbstractModuleLoaderStrategy.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation @suppresswarnings
gov/nist/secauto/metaschema/databind/DefaultBindingContext.java A value of 23 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/IBindingContext.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/IProduction.java Avoid using short method names //nopmd - intentional
gov/nist/secauto/metaschema/databind/codegen/IProduction.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation //nopmd - no concurrency
gov/nist/secauto/metaschema/databind/codegen/IProduction.java Avoid instantiating new objects inside loops //nopmd - intentional
gov/nist/secauto/metaschema/databind/codegen/ProductionImpl.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation //nopmd - immutable
gov/nist/secauto/metaschema/databind/codegen/ProductionImpl.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation //nopmd - immutable
gov/nist/secauto/metaschema/databind/codegen/impl/AnnotationGenerator.java A value of 37 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/impl/AnnotationGenerator.java Possible God Class (WMC=78, ATFD=94, TCC=0.735%) @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/impl/AnnotationGenerator.java Assigning an Object to null is a code smell. Consider refactoring. //nopmd readability
gov/nist/secauto/metaschema/databind/codegen/typeinfo/ChoiceGroupTypeInfoImpl.java The method 'buildBindingAnnotation(Builder, Builder, Builder)' has a cyclomatic complexity of 10. @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/typeinfo/ChoiceGroupTypeInfoImpl.java The method 'buildBindingAnnotation(Builder, Builder, Builder)' has an NPath complexity of 288, current threshold is 200 @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/typeinfo/ChoiceGroupTypeInfoImpl.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/typeinfo/ChoiceGroupTypeInfoImpl.java Avoid instantiating new objects inside loops //nopmd needed
gov/nist/secauto/metaschema/databind/codegen/typeinfo/DefaultMetaschemaClassFactory.java Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block //nopmd - intended
gov/nist/secauto/metaschema/databind/codegen/typeinfo/DefaultMetaschemaClassFactory.java A value of 31 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/codegen/typeinfo/DefaultTypeResolver.java A value of 31 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/AbstractDeserializer.java Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block //nopmd - this is intentional
gov/nist/secauto/metaschema/databind/io/DefaultBoundLoader.java A value of 22 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/DefaultBoundLoader.java Assigning an Object to null is a code smell. Consider refactoring. @suppresswarnings
gov/nist/secauto/metaschema/databind/io/DeserializationFeature.java The class 'DeserializationFeature' is suspected to be a Data Class (WOC=0.000%, NOPA=7, NOAM=0, WMC=1) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/ModelDetector.java Assigning an Object to null is a code smell. Consider refactoring. @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java A value of 37 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java The method 'readObjectRoot(IBoundDefinitionModelComplex, String)' has a cyclomatic complexity of 12. @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java The class 'MetaschemaData' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=5) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Possible God Class (WMC=55, ATFD=54, TCC=1.333%) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java Ensure that resources like this JsonParser object are closed after use @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation //nopmd not concurrent
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonReader.java If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonWriter.java A value of 31 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/io/json/MetaschemaJsonWriter.java Assigning an Object to null is a code smell. Consider refactoring. @suppresswarnings
gov/nist/secauto/metaschema/databind/io/xml/DefaultXmlSerializer.java A throw statement in a finally block makes the control flow hard to understand. //nopmd - exception handling is needed
gov/nist/secauto/metaschema/databind/io/xml/MetaschemaXmlReader.java A value of 39 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/metapath/function/Model.java A method should have only one exit point, and that should be the last statement in the method @suppresswarnings
gov/nist/secauto/metaschema/databind/metapath/function/Model.java A method should have only one exit point, and that should be the last statement in the method @suppresswarnings
gov/nist/secauto/metaschema/databind/model/IBoundDefinitionModelFieldComplex.java Assigning an Object to null is a code smell. Consider refactoring. @suppresswarnings
gov/nist/secauto/metaschema/databind/model/IBoundDefinitionModelFieldComplex.java Assigning an Object to null is a code smell. Consider refactoring. @suppresswarnings
gov/nist/secauto/metaschema/databind/model/IFeatureJavaField.java You should not modify visibility of constructors, methods or fields using setAccessible() //nopmd - intentional
gov/nist/secauto/metaschema/databind/model/IFeatureJavaField.java You should not modify visibility of constructors, methods or fields using setAccessible() //nopmd - intentional
gov/nist/secauto/metaschema/databind/model/IFeatureJavaField.java You should not modify visibility of constructors, methods or fields using setAccessible() //nopmd - intentional
gov/nist/secauto/metaschema/databind/model/IFeatureJavaField.java You should not modify visibility of constructors, methods or fields using setAccessible() //nopmd - intentional
gov/nist/secauto/metaschema/databind/model/annotations/AllowedValues.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/Expect.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/HasCardinality.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/Index.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/IndexHasKey.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/IsUnique.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/Matches.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/annotations/ModelUtil.java Assigning an Object to null is a code smell. Consider refactoring. //nopmd - intentional
gov/nist/secauto/metaschema/databind/model/impl/AssemblyModelGenerator.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/impl/ConstraintFactory.java A value of 41 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/model/impl/ConstraintFactory.java Assigning an Object to null is a code smell. Consider refactoring. @suppresswarnings
gov/nist/secauto/metaschema/databind/model/impl/DefinitionAssembly.java A value of 22 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/model/impl/DefinitionField.java A value of 25 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/model/impl/FlagContainerSupport.java Use asList instead of tight loops @suppresswarnings
gov/nist/secauto/metaschema/databind/model/impl/InstanceModelChoiceGroup.java A value of 22 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/model/info/IFeatureComplexItemValueHandler.java Avoid throwing raw exception types. @suppresswarnings
gov/nist/secauto/metaschema/databind/model/info/IFeatureComplexItemValueHandler.java Avoid throwing raw exception types. @suppresswarnings
gov/nist/secauto/metaschema/databind/model/info/IModelInstanceCollectionInfo.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/BindingConstraintLoader.java Avoid instantiating new objects inside loops @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/AbstractAbsoluteModelGenerator.java This abstract class does not have any abstract methods @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/AbstractAbsoluteModelGenerator.java Avoid empty finalize methods @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/AssemblyModelGenerator.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/BindingModule.java A value of 33 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/BindingModule.java Avoid instantiating new objects inside loops @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/BindingModule.java Avoid instantiating new objects inside loops @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/BindingModule.java Avoid instantiating new objects inside loops @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/ChoiceGroupModelGenerator.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/ChoiceModelGenerator.java Avoid using short method names @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/ConstraintBindingSupport.java A value of 50 may denote a high amount of coupling within the class (threshold: 20) @suppresswarnings
gov/nist/secauto/metaschema/databind/model/metaschema/impl/FlagContainerSupport.java A method should have only one exit point, and that should be the last statement in the method @suppresswarnings