Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.x4o.xml.conv | 6 | 2 | 4 | 5 | 4 | 67.0% | 44.0% | 11.0% | 1 |
org.x4o.xml.conv.text | 13 | 13 | 0 | 3 | 6 | 0.0% | 67.0% | 33.0% | 1 |
org.x4o.xml.core | 39 | 35 | 4 | 5 | 16 | 10.0% | 76.0% | 14.0% | 1 |
org.x4o.xml.core.config | 7 | 4 | 3 | 8 | 9 | 43.0% | 52.999996% | 4.0% | 1 |
org.x4o.xml.eld | 5 | 5 | 0 | 1 | 9 | 0.0% | 90.0% | 10.0% | 1 |
org.x4o.xml.eld.lang | 16 | 16 | 0 | 1 | 7 | 0.0% | 88.0% | 12.0% | 1 |
org.x4o.xml.eld.xsd | 3 | 3 | 0 | 0 | 11 | 0.0% | 100.0% | 0.0% | 1 |
org.x4o.xml.element | 39 | 8 | 31 | 7 | 7 | 79.0% | 50.0% | 29.0% | 1 |
org.x4o.xml.impl | 15 | 15 | 0 | 2 | 9 | 0.0% | 82.0% | 18.0% | 1 |
org.x4o.xml.impl.config | 5 | 5 | 0 | 1 | 15 | 0.0% | 94.0% | 6.0% | 1 |
org.x4o.xml.impl.el | 4 | 4 | 0 | 1 | 4 | 0.0% | 80.0% | 20.0% | 1 |
org.x4o.xml.sax | 4 | 3 | 1 | 2 | 7 | 25.0% | 78.0% | 3.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 4 | 67.0% | 44.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 6 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 16 | 10.0% | 76.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
8 | 9 | 43.0% | 52.999996% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 0.0% | 90.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 0.0% | 88.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.x4o.xml.eld.xsd.EldXsdXmlGenerator org.x4o.xml.eld.xsd.EldXsdXmlWriter org.x4o.xml.eld.xsd.X4OLanguageEldXsdWriter | None | java.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 7 | 79.0% | 50.0% | 29.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 9 | 0.0% | 82.0% | 18.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 15 | 0.0% | 94.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 4 | 0.0% | 80.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 7 | 25.0% | 78.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Package | Package Dependencies |
---|---|
org.x4o.xml.conv | org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.conv.text | org.x4o.xml.conv org.x4o.xml.conv.text |
org.x4o.xml.core | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.core.config | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.eld | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.eld.lang | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.eld.xsd | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.element | org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.impl | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
org.x4o.xml.impl.config | org.x4o.xml.element org.x4o.xml.conv org.x4o.xml.conv.text org.x4o.xml.conv |
Term | Description |
---|---|
Number of Classes | The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package. |
Afferent Couplings | The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. |
Efferent Couplings | The number of other packages that the classes in the package depend upon is an indicator of the package's independence. |
Abstractness | The 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. |
Instability | The 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. |
Distance | The 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. |
Cycles | Packages 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. |