Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

PackageTCCCACCaCeAIDV
org.x4o.xml.conv6245467.0%44.0%11.0%1
org.x4o.xml.conv.text13130360.0%67.0%33.0%1
org.x4o.xml.core3935451610.0%76.0%14.0%1
org.x4o.xml.core.config7438943.0%52.999996%4.0%1
org.x4o.xml.eld550190.0%90.0%10.0%1
org.x4o.xml.eld.lang16160170.0%88.0%12.0%1
org.x4o.xml.eld.xsd3300110.0%100.0%0.0%1
org.x4o.xml.element398317779.0%50.0%29.0%1
org.x4o.xml.impl15150290.0%82.0%18.0%1
org.x4o.xml.impl.config5501150.0%94.0%6.0%1
org.x4o.xml.impl.el440140.0%80.0%20.0%1
org.x4o.xml.sax4312725.0%78.0%3.0%1

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

org.x4o.xml.conv

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
5467.0%44.0%11.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.x4o.xml.conv.AbstractObjectConverter
org.x4o.xml.conv.AbstractStringObjectConverter
org.x4o.xml.conv.ObjectConverter
org.x4o.xml.conv.ObjectConverterProvider
org.x4o.xml.conv.DefaultObjectConverterProvider
org.x4o.xml.conv.ObjectConverterException
org.x4o.xml.conv.text
org.x4o.xml.core
org.x4o.xml.eld.lang
org.x4o.xml.element
org.x4o.xml.impl
java.io
java.lang
java.util
org.x4o.xml.conv.text

org.x4o.xml.conv.text

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
360.0%67.0%33.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.conv.text.BooleanConverter
org.x4o.xml.conv.text.ByteConverter
org.x4o.xml.conv.text.CharacterConverter
org.x4o.xml.conv.text.ClassConverter
org.x4o.xml.conv.text.DoubleConverter
org.x4o.xml.conv.text.EnumConverter
org.x4o.xml.conv.text.FloatConverter
org.x4o.xml.conv.text.IntegerConverter
org.x4o.xml.conv.text.LongConverter
org.x4o.xml.conv.text.StringSplitConverter
org.x4o.xml.conv.text.StringSplitConverter$StringSplitConverterStepComparator
org.x4o.xml.conv.text.StringSplitConverterStep
org.x4o.xml.conv.text.URLConverter
org.x4o.xml.conv
org.x4o.xml.eld
org.x4o.xml.eld.lang
java.lang
java.lang.reflect
java.net
java.util
org.x4o.xml.conv
org.x4o.xml.core.config

org.x4o.xml.core

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
51610.0%76.0%14.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.x4o.xml.core.AbstractX4OPhaseHandler
org.x4o.xml.core.X4OParserSupport
org.x4o.xml.core.X4OPhaseHandler
org.x4o.xml.core.X4OPhaseListener
org.x4o.xml.core.X4ODebugWriter
org.x4o.xml.core.X4ODebugWriter$DebugX4OPhaseListener
org.x4o.xml.core.X4ODriver
org.x4o.xml.core.X4OEntityResolver
org.x4o.xml.core.X4OErrorHandler
org.x4o.xml.core.X4OParser
org.x4o.xml.core.X4OParserSupportException
org.x4o.xml.core.X4OPhase
org.x4o.xml.core.X4OPhaseException
org.x4o.xml.core.X4OPhaseHandlerFactory
org.x4o.xml.core.X4OPhaseHandlerFactory$1
org.x4o.xml.core.X4OPhaseHandlerFactory$1BindElementPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1ConfigElementInterfacePhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1ConfigElementPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1ConfigGlobalAttributePhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1ConfigGlobalElBeansPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1ConfigGlobalElementPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1CreateLanguagePhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1CreateLanguageSiblingsPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1CreateSAXStreamPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1CreateStartX4OPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1ReleasePhaseListener
org.x4o.xml.core.X4OPhaseHandlerFactory$1RunAttributesPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1RunConfiguratorPhaseListener
org.x4o.xml.core.X4OPhaseHandlerFactory$1RunDirtyElementLastPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$1RunDirtyElementPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$2
org.x4o.xml.core.X4OPhaseHandlerFactory$2CreateStartX4OPhase
org.x4o.xml.core.X4OPhaseHandlerFactory$3
org.x4o.xml.core.X4OPhaseHandlerFactory$4
org.x4o.xml.core.X4OPhaseHandlerFactory$5
org.x4o.xml.core.X4OPhaseHandlerFactory$RunConfigurator
org.x4o.xml.core.X4OPhaseManager
org.x4o.xml.core.X4OPhaseManager$X4OPhaseHandlerComparator
org.x4o.xml.core.X4OTagHandler
org.x4o.xml.core.config
org.x4o.xml.eld
org.x4o.xml.eld.xsd
org.x4o.xml.element
org.x4o.xml.impl.config
java.io
java.lang
java.lang.reflect
java.net
java.util
java.util.logging
javax.el
javax.xml.parsers
org.x4o.xml.conv
org.x4o.xml.core.config
org.x4o.xml.element
org.x4o.xml.impl.config
org.x4o.xml.sax
org.xml.sax
org.xml.sax.ext
org.xml.sax.helpers

org.x4o.xml.core.config

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
8943.0%52.999996%4.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.x4o.xml.core.config.X4OLanguageConfiguration
org.x4o.xml.core.config.X4OLanguageLoader
org.x4o.xml.core.config.X4OLanguageVersionFilter
org.x4o.xml.core.config.X4OLanguageClassLoader
org.x4o.xml.core.config.X4OLanguageLoaderException
org.x4o.xml.core.config.X4OLanguageProperty
org.x4o.xml.core.config.X4OLanguagePropertyKeys
org.x4o.xml.conv.text
org.x4o.xml.core
org.x4o.xml.eld
org.x4o.xml.eld.lang
org.x4o.xml.eld.xsd
org.x4o.xml.element
org.x4o.xml.impl
org.x4o.xml.impl.config
java.io
java.lang
java.net
java.util
javax.el
org.x4o.xml.core
org.x4o.xml.element
org.xml.sax
org.xml.sax.ext

org.x4o.xml.eld

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
190.0%90.0%10.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.eld.EldModuleLoader
org.x4o.xml.eld.EldModuleLoaderCore
org.x4o.xml.eld.EldParser
org.x4o.xml.eld.EldParserSupport
org.x4o.xml.eld.EldParserSupportCore
org.x4o.xml.impl.config
java.lang
java.util
java.util.logging
org.x4o.xml.conv.text
org.x4o.xml.core
org.x4o.xml.core.config
org.x4o.xml.eld.lang
org.x4o.xml.element
org.x4o.xml.impl

org.x4o.xml.eld.lang

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
170.0%88.0%12.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.eld.lang.AttributeAliasElement
org.x4o.xml.eld.lang.AttributeFromBodyConfigurator
org.x4o.xml.eld.lang.BeanElement
org.x4o.xml.eld.lang.DescriptionElement
org.x4o.xml.eld.lang.ElementClassAddParentElement
org.x4o.xml.eld.lang.ElementClassAttributeBindingHandler
org.x4o.xml.eld.lang.ElementClassBindingHandler
org.x4o.xml.eld.lang.ElementInterfaceBindingHandler
org.x4o.xml.eld.lang.ElementModuleBindingHandler
org.x4o.xml.eld.lang.ElementNamespaceContextBindingHandler
org.x4o.xml.eld.lang.ElementRefectionBindingHandler
org.x4o.xml.eld.lang.ModuleElement
org.x4o.xml.eld.lang.NextAttributeElement
org.x4o.xml.eld.lang.SkipPhaseElement
org.x4o.xml.eld.lang.StringSplitConverterBindingHandler
org.x4o.xml.eld.lang.StringSplitConverterStepBindingHandler
org.x4o.xml.eld
java.lang
java.lang.reflect
java.util
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.core.config
org.x4o.xml.element

org.x4o.xml.eld.xsd

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0110.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.eld.xsd.EldXsdXmlGenerator
org.x4o.xml.eld.xsd.EldXsdXmlWriter
org.x4o.xml.eld.xsd.X4OLanguageEldXsdWriter
Nonejava.io
java.lang
java.lang.reflect
java.util
org.x4o.xml.core
org.x4o.xml.core.config
org.x4o.xml.element
org.x4o.xml.sax
org.xml.sax
org.xml.sax.ext
org.xml.sax.helpers

org.x4o.xml.element

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
7779.0%50.0%29.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.x4o.xml.element.AbstractElement
org.x4o.xml.element.AbstractElementAttributeHandler
org.x4o.xml.element.AbstractElementBindingHandler
org.x4o.xml.element.AbstractElementClass
org.x4o.xml.element.AbstractElementClassAttribute
org.x4o.xml.element.AbstractElementClassBase
org.x4o.xml.element.AbstractElementConfigurator
org.x4o.xml.element.AbstractElementInterface
org.x4o.xml.element.AbstractElementLanguage
org.x4o.xml.element.AbstractElementLanguageModule
org.x4o.xml.element.AbstractElementMetaBase
org.x4o.xml.element.AbstractElementNamespaceContext
org.x4o.xml.element.Element
org.x4o.xml.element.ElementAttributeHandler
org.x4o.xml.element.ElementAttributeValueParser
org.x4o.xml.element.ElementBindingHandler
org.x4o.xml.element.ElementClass
org.x4o.xml.element.ElementClassAttribute
org.x4o.xml.element.ElementClassBase
org.x4o.xml.element.ElementConfigurator
org.x4o.xml.element.ElementConfiguratorGlobal
org.x4o.xml.element.ElementInterface
org.x4o.xml.element.ElementLanguage
org.x4o.xml.element.ElementLanguageLocal
org.x4o.xml.element.ElementLanguageModule
org.x4o.xml.element.ElementLanguageModuleLoader
org.x4o.xml.element.ElementLanguageModuleLoaderSibling
org.x4o.xml.element.ElementMetaBase
org.x4o.xml.element.ElementNamespaceContext
org.x4o.xml.element.ElementNamespaceInstanceProvider
org.x4o.xml.element.ElementObjectPropertyValue
org.x4o.xml.element.Element$ElementType
org.x4o.xml.element.ElementAttributeValueParserException
org.x4o.xml.element.ElementBindingHandlerException
org.x4o.xml.element.ElementConfiguratorException
org.x4o.xml.element.ElementException
org.x4o.xml.element.ElementLanguageModuleLoaderException
org.x4o.xml.element.ElementNamespaceInstanceProviderException
org.x4o.xml.element.ElementObjectPropertyValueException
org.x4o.xml.core
org.x4o.xml.core.config
org.x4o.xml.eld
org.x4o.xml.eld.lang
org.x4o.xml.eld.xsd
org.x4o.xml.impl
org.x4o.xml.impl.config
java.lang
java.util
java.util.logging
javax.el
org.x4o.xml.conv
org.x4o.xml.core
org.x4o.xml.core.config

org.x4o.xml.impl

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
290.0%82.0%18.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.impl.DefaultElement
org.x4o.xml.impl.DefaultElementAttributeValueParser
org.x4o.xml.impl.DefaultElementBodyCharacters
org.x4o.xml.impl.DefaultElementBodyComment
org.x4o.xml.impl.DefaultElementBodyWhitespace
org.x4o.xml.impl.DefaultElementClass
org.x4o.xml.impl.DefaultElementClassAttribute
org.x4o.xml.impl.DefaultElementInterface
org.x4o.xml.impl.DefaultElementLanguage
org.x4o.xml.impl.DefaultElementLanguageModule
org.x4o.xml.impl.DefaultElementLanguageModuleLoaderDummy
org.x4o.xml.impl.DefaultElementNamespaceContext
org.x4o.xml.impl.DefaultElementNamespaceInstanceProvider
org.x4o.xml.impl.DefaultElementObjectPropertyValue
org.x4o.xml.impl.DefaultGlobalAttributeHandlerComparator
org.x4o.xml.eld
org.x4o.xml.impl.config
java.io
java.lang
java.lang.reflect
java.util
java.util.logging
javax.el
org.x4o.xml.conv
org.x4o.xml.core.config
org.x4o.xml.element

org.x4o.xml.impl.config

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1150.0%94.0%6.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.impl.config.DefaultX4OLanguageConfiguration
org.x4o.xml.impl.config.DefaultX4OLanguageLoader
org.x4o.xml.impl.config.DefaultX4OLanguageLoader$1
org.x4o.xml.impl.config.DefaultX4OLanguageLoader$ModulesTagHandler
org.x4o.xml.impl.config.DefaultX4OLanguageVersionFilter
org.x4o.xml.core
java.io
java.lang
java.net
java.util
java.util.logging
javax.el
org.x4o.xml.core
org.x4o.xml.core.config
org.x4o.xml.eld
org.x4o.xml.element
org.x4o.xml.impl
org.x4o.xml.impl.el
org.xml.sax
org.xml.sax.ext
org.xml.sax.helpers

org.x4o.xml.impl.el

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
140.0%80.0%20.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.x4o.xml.impl.el.X4OELContext
org.x4o.xml.impl.el.X4OELFunctionMapper
org.x4o.xml.impl.el.X4OELResolver
org.x4o.xml.impl.el.X4OELVariableMapper
org.x4o.xml.impl.config
java.lang
java.lang.reflect
java.util
javax.el

org.x4o.xml.sax

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2725.0%78.0%3.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.x4o.xml.sax.AbstractXMLParser
org.x4o.xml.sax.AttributeMap
org.x4o.xml.sax.AttributeMap$AttributeMapEntry
org.x4o.xml.sax.XMLWriter
org.x4o.xml.core
org.x4o.xml.eld.xsd
java.io
java.lang
java.net
java.util
javax.xml.parsers
org.xml.sax
org.xml.sax.ext

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

PackagePackage Dependencies
org.x4o.xml.convorg.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.conv.textorg.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.coreorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.core.configorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.eldorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.eld.langorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.eld.xsdorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.elementorg.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.implorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv
org.x4o.xml.impl.configorg.x4o.xml.element
org.x4o.xml.conv
org.x4o.xml.conv.text
org.x4o.xml.conv

Explanation

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

TermDescription
Number of ClassesThe number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent CouplingsThe number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent CouplingsThe number of other packages that the classes in the package depend upon is an indicator of the package's independence.
AbstractnessThe ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
InstabilityThe ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.
DistanceThe perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
CyclesPackages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.