Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.apache.commons.configuration | 112 | 97 | 15 | 7 | 39 | 13.0% | 85.0% | 2.0% | 1 |
org.apache.commons.configuration.beanutils | 7 | 5 | 2 | 1 | 9 | 29.0% | 90.0% | 19.0% | 1 |
org.apache.commons.configuration.event | 5 | 3 | 2 | 1 | 3 | 40.0% | 75.0% | 15.000001% | 1 |
org.apache.commons.configuration.interpol | 6 | 6 | 0 | 1 | 8 | 0.0% | 89.0% | 11.0% | 1 |
org.apache.commons.configuration.plist | 21 | 19 | 2 | 1 | 14 | 10.0% | 93.0% | 3.0% | 1 |
org.apache.commons.configuration.reloading | 7 | 4 | 3 | 1 | 6 | 43.0% | 86.0% | 29.0% | 1 |
org.apache.commons.configuration.resolver | 6 | 4 | 2 | 1 | 12 | 33.0% | 92.0% | 26.0% | 1 |
org.apache.commons.configuration.tree | 16 | 12 | 4 | 4 | 5 | 25.0% | 56.0% | 19.0% | 1 |
org.apache.commons.configuration.tree.xpath | 6 | 5 | 1 | 0 | 8 | 17.0% | 100.0% | 17.0% | 1 |
org.apache.commons.configuration.web | 6 | 5 | 1 | 0 | 5 | 17.0% | 100.0% | 17.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 39 | 13.0% | 85.0% | 2.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.AbstractConfiguration org.apache.commons.configuration.AbstractFileConfiguration org.apache.commons.configuration.AbstractHierarchicalFileConfiguration org.apache.commons.configuration.Configuration org.apache.commons.configuration.ConfigurationBuilder org.apache.commons.configuration.ConfigurationComparator org.apache.commons.configuration.ConfigurationXMLReader org.apache.commons.configuration.FileConfiguration org.apache.commons.configuration.FileOptionsProvider org.apache.commons.configuration.FileSystem org.apache.commons.configuration.FileSystemBased org.apache.commons.configuration.HierarchicalConfiguration$BuilderVisitor org.apache.commons.configuration.HierarchicalConfigurationConverter org.apache.commons.configuration.PropertiesConfiguration$IOFactory org.apache.commons.configuration.VerifiableOutputStream | org.apache.commons.configuration.AbstractConfiguration$1 org.apache.commons.configuration.AbstractConfiguration$2 org.apache.commons.configuration.AbstractHierarchicalFileConfiguration$FileConfigurationDelegate org.apache.commons.configuration.BaseConfiguration org.apache.commons.configuration.BaseConfigurationXMLReader org.apache.commons.configuration.BaseConfigurationXMLReader$SAXConverter org.apache.commons.configuration.CombinedConfiguration org.apache.commons.configuration.CombinedConfiguration$ConfigData org.apache.commons.configuration.CompositeConfiguration org.apache.commons.configuration.ConfigurationConverter org.apache.commons.configuration.ConfigurationException org.apache.commons.configuration.ConfigurationFactory org.apache.commons.configuration.ConfigurationFactory$AdditionalConfigurationData org.apache.commons.configuration.ConfigurationFactory$CallOptionalMethodRule org.apache.commons.configuration.ConfigurationFactory$ConfigurationBuilder org.apache.commons.configuration.ConfigurationFactory$DigesterConfigurationFactory org.apache.commons.configuration.ConfigurationFactory$FileConfigurationFactory org.apache.commons.configuration.ConfigurationFactory$JNDIConfigurationFactory org.apache.commons.configuration.ConfigurationFactory$PropertiesConfigurationFactory org.apache.commons.configuration.ConfigurationFactory$PropertyListConfigurationFactory org.apache.commons.configuration.ConfigurationFactory$SystemConfigurationFactory org.apache.commons.configuration.ConfigurationKey org.apache.commons.configuration.ConfigurationKey$KeyIterator org.apache.commons.configuration.ConfigurationMap org.apache.commons.configuration.ConfigurationMap$1 org.apache.commons.configuration.ConfigurationMap$ConfigurationSet org.apache.commons.configuration.ConfigurationMap$ConfigurationSet$ConfigurationSetIterator org.apache.commons.configuration.ConfigurationMap$ConfigurationSet$Entry org.apache.commons.configuration.ConfigurationRuntimeException org.apache.commons.configuration.ConfigurationUtils org.apache.commons.configuration.ConfigurationUtils$1 org.apache.commons.configuration.ConversionException org.apache.commons.configuration.DataConfiguration org.apache.commons.configuration.DatabaseConfiguration org.apache.commons.configuration.DefaultConfigurationBuilder org.apache.commons.configuration.DefaultConfigurationBuilder$1 org.apache.commons.configuration.DefaultConfigurationBuilder$ConfigurationBeanFactory org.apache.commons.configuration.DefaultConfigurationBuilder$ConfigurationBuilderProvider org.apache.commons.configuration.DefaultConfigurationBuilder$ConfigurationDeclaration org.apache.commons.configuration.DefaultConfigurationBuilder$ConfigurationProvider org.apache.commons.configuration.DefaultConfigurationBuilder$FileConfigurationProvider org.apache.commons.configuration.DefaultConfigurationBuilder$FileExtensionConfigurationProvider org.apache.commons.configuration.DefaultConfigurationBuilder$XMLConfigurationProvider org.apache.commons.configuration.DefaultFileSystem org.apache.commons.configuration.DefaultFileSystem$HttpOutputStream org.apache.commons.configuration.DynamicCombinedConfiguration org.apache.commons.configuration.DynamicCombinedConfiguration$1 org.apache.commons.configuration.DynamicCombinedConfiguration$ConfigData org.apache.commons.configuration.EnvironmentConfiguration org.apache.commons.configuration.HierarchicalConfiguration org.apache.commons.configuration.HierarchicalConfiguration$1 org.apache.commons.configuration.HierarchicalConfiguration$2 org.apache.commons.configuration.HierarchicalConfiguration$3 org.apache.commons.configuration.HierarchicalConfiguration$4 org.apache.commons.configuration.HierarchicalConfiguration$5 org.apache.commons.configuration.HierarchicalConfiguration$CloneVisitor org.apache.commons.configuration.HierarchicalConfiguration$DefinedKeysVisitor org.apache.commons.configuration.HierarchicalConfiguration$DefinedVisitor org.apache.commons.configuration.HierarchicalConfiguration$Node org.apache.commons.configuration.HierarchicalConfiguration$NodeVisitor org.apache.commons.configuration.HierarchicalConfigurationXMLReader org.apache.commons.configuration.HierarchicalConfigurationXMLReader$SAXVisitor org.apache.commons.configuration.HierarchicalINIConfiguration org.apache.commons.configuration.HierarchicalReloadableConfiguration org.apache.commons.configuration.HierarchicalXMLConfiguration org.apache.commons.configuration.INIConfiguration org.apache.commons.configuration.JNDIConfiguration org.apache.commons.configuration.Lock org.apache.commons.configuration.MapConfiguration org.apache.commons.configuration.MultiFileHierarchicalConfiguration org.apache.commons.configuration.MultiFileHierarchicalConfiguration$1 org.apache.commons.configuration.MultiFileHierarchicalConfiguration$2 org.apache.commons.configuration.PatternSubtreeConfigurationWrapper org.apache.commons.configuration.PatternSubtreeConfigurationWrapper$1 org.apache.commons.configuration.PrefixedKeysIterator org.apache.commons.configuration.PropertiesConfiguration org.apache.commons.configuration.PropertiesConfiguration$DefaultIOFactory org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader org.apache.commons.configuration.PropertiesConfiguration$PropertiesWriter org.apache.commons.configuration.PropertiesConfigurationLayout org.apache.commons.configuration.PropertiesConfigurationLayout$PropertyLayoutData org.apache.commons.configuration.PropertyConverter org.apache.commons.configuration.StrictConfigurationComparator org.apache.commons.configuration.SubnodeConfiguration org.apache.commons.configuration.SubsetConfiguration org.apache.commons.configuration.SubsetConfiguration$SubsetIterator org.apache.commons.configuration.SystemConfiguration org.apache.commons.configuration.VFSFileSystem org.apache.commons.configuration.VFSFileSystem$VFSURLStreamHandler org.apache.commons.configuration.XMLConfiguration org.apache.commons.configuration.XMLConfiguration$1 org.apache.commons.configuration.XMLConfiguration$XMLBuilderVisitor org.apache.commons.configuration.XMLConfiguration$XMLFileConfigurationDelegate org.apache.commons.configuration.XMLConfiguration$XMLNode org.apache.commons.configuration.XMLPropertiesConfiguration org.apache.commons.configuration.XMLPropertiesConfiguration$1 org.apache.commons.configuration.XMLPropertiesConfiguration$XMLPropertiesHandler | org.apache.commons.configuration.beanutils org.apache.commons.configuration.interpol org.apache.commons.configuration.plist org.apache.commons.configuration.reloading org.apache.commons.configuration.resolver org.apache.commons.configuration.tree org.apache.commons.configuration.web | java.awt java.io java.lang java.lang.reflect java.math java.net java.sql java.text java.util java.util.concurrent java.util.regex javax.naming javax.sql javax.xml.parsers javax.xml.transform javax.xml.transform.dom javax.xml.transform.stream org.apache.commons.beanutils org.apache.commons.collections org.apache.commons.configuration.beanutils org.apache.commons.configuration.event org.apache.commons.configuration.interpol org.apache.commons.configuration.plist org.apache.commons.configuration.reloading org.apache.commons.configuration.resolver org.apache.commons.configuration.tree org.apache.commons.digester org.apache.commons.digester.substitution org.apache.commons.digester.xmlrules org.apache.commons.lang org.apache.commons.lang.exception org.apache.commons.lang.text org.apache.commons.logging org.apache.commons.logging.impl org.apache.commons.vfs2 org.apache.commons.vfs2.provider org.w3c.dom org.xml.sax org.xml.sax.helpers |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 29.0% | 90.0% | 19.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.beanutils.BeanDeclaration org.apache.commons.configuration.beanutils.BeanFactory | org.apache.commons.configuration.beanutils.BeanHelper org.apache.commons.configuration.beanutils.ConfigurationDynaBean org.apache.commons.configuration.beanutils.ConfigurationDynaClass org.apache.commons.configuration.beanutils.DefaultBeanFactory org.apache.commons.configuration.beanutils.XMLBeanDeclaration | org.apache.commons.configuration | java.beans java.lang java.lang.reflect java.util org.apache.commons.beanutils org.apache.commons.configuration org.apache.commons.configuration.tree org.apache.commons.lang org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 40.0% | 75.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.event.ConfigurationErrorListener org.apache.commons.configuration.event.ConfigurationListener | org.apache.commons.configuration.event.ConfigurationErrorEvent org.apache.commons.configuration.event.ConfigurationEvent org.apache.commons.configuration.event.EventSource | org.apache.commons.configuration | java.lang java.util java.util.concurrent |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 8 | 0.0% | 89.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.commons.configuration.interpol.ConfigurationInterpolator org.apache.commons.configuration.interpol.ConstantLookup org.apache.commons.configuration.interpol.EnvironmentLookup org.apache.commons.configuration.interpol.ExprLookup org.apache.commons.configuration.interpol.ExprLookup$Variable org.apache.commons.configuration.interpol.ExprLookup$Variables | org.apache.commons.configuration | java.lang java.lang.reflect java.util org.apache.commons.configuration org.apache.commons.jexl2 org.apache.commons.lang org.apache.commons.lang.text org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 14 | 10.0% | 93.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.plist.PropertyListConfiguration$DateComponentParser org.apache.commons.configuration.plist.PropertyListParserConstants | org.apache.commons.configuration.plist.ParseException org.apache.commons.configuration.plist.PropertyListConfiguration org.apache.commons.configuration.plist.PropertyListConfiguration$1 org.apache.commons.configuration.plist.PropertyListConfiguration$DateFieldParser org.apache.commons.configuration.plist.PropertyListConfiguration$DateSeparatorParser org.apache.commons.configuration.plist.PropertyListConfiguration$DateTimeZoneParser org.apache.commons.configuration.plist.PropertyListParser org.apache.commons.configuration.plist.PropertyListParser$1 org.apache.commons.configuration.plist.PropertyListParser$JJCalls org.apache.commons.configuration.plist.PropertyListParser$LookaheadSuccess org.apache.commons.configuration.plist.PropertyListParserTokenManager org.apache.commons.configuration.plist.SimpleCharStream org.apache.commons.configuration.plist.Token org.apache.commons.configuration.plist.TokenMgrError org.apache.commons.configuration.plist.XMLPropertyListConfiguration org.apache.commons.configuration.plist.XMLPropertyListConfiguration$1 org.apache.commons.configuration.plist.XMLPropertyListConfiguration$ArrayNode org.apache.commons.configuration.plist.XMLPropertyListConfiguration$PListNode org.apache.commons.configuration.plist.XMLPropertyListConfiguration$XMLPropertyListHandler | org.apache.commons.configuration | java.io java.lang java.math java.net java.text java.util javax.xml.parsers org.apache.commons.codec.binary org.apache.commons.configuration org.apache.commons.configuration.tree org.apache.commons.lang org.apache.commons.logging org.xml.sax org.xml.sax.helpers |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 6 | 43.0% | 86.0% | 29.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.reloading.ManagedReloadingStrategyMBean org.apache.commons.configuration.reloading.Reloadable org.apache.commons.configuration.reloading.ReloadingStrategy | org.apache.commons.configuration.reloading.FileChangedReloadingStrategy org.apache.commons.configuration.reloading.InvariantReloadingStrategy org.apache.commons.configuration.reloading.ManagedReloadingStrategy org.apache.commons.configuration.reloading.VFSFileChangedReloadingStrategy | org.apache.commons.configuration | java.io java.lang java.net org.apache.commons.configuration org.apache.commons.logging org.apache.commons.vfs2 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 33.0% | 92.0% | 26.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.resolver.EntityRegistry org.apache.commons.configuration.resolver.EntityResolverSupport | org.apache.commons.configuration.resolver.CatalogResolver org.apache.commons.configuration.resolver.CatalogResolver$Catalog org.apache.commons.configuration.resolver.CatalogResolver$CatalogManager org.apache.commons.configuration.resolver.DefaultEntityResolver | org.apache.commons.configuration | java.io java.lang java.net java.util org.apache.commons.configuration org.apache.commons.lang.text org.apache.commons.logging org.apache.xml.resolver org.apache.xml.resolver.helpers org.apache.xml.resolver.readers org.apache.xml.resolver.tools org.xml.sax |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 5 | 25.0% | 56.0% | 19.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.tree.ConfigurationNode org.apache.commons.configuration.tree.ConfigurationNodeVisitor org.apache.commons.configuration.tree.ExpressionEngine org.apache.commons.configuration.tree.NodeCombiner | org.apache.commons.configuration.tree.ConfigurationNodeVisitorAdapter org.apache.commons.configuration.tree.DefaultConfigurationKey org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator org.apache.commons.configuration.tree.DefaultConfigurationNode org.apache.commons.configuration.tree.DefaultConfigurationNode$SubNodes org.apache.commons.configuration.tree.DefaultExpressionEngine org.apache.commons.configuration.tree.MergeCombiner org.apache.commons.configuration.tree.NodeAddData org.apache.commons.configuration.tree.OverrideCombiner org.apache.commons.configuration.tree.TreeUtils org.apache.commons.configuration.tree.UnionCombiner org.apache.commons.configuration.tree.ViewNode | org.apache.commons.configuration org.apache.commons.configuration.beanutils org.apache.commons.configuration.plist org.apache.commons.configuration.tree.xpath | java.io java.lang java.util org.apache.commons.configuration org.apache.commons.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.tree.xpath.ConfigurationNodeIteratorBase | org.apache.commons.configuration.tree.xpath.ConfigurationNodeIteratorAttribute org.apache.commons.configuration.tree.xpath.ConfigurationNodeIteratorChildren org.apache.commons.configuration.tree.xpath.ConfigurationNodePointer org.apache.commons.configuration.tree.xpath.ConfigurationNodePointerFactory org.apache.commons.configuration.tree.xpath.XPathExpressionEngine | None | java.lang java.util org.apache.commons.configuration.tree org.apache.commons.jxpath org.apache.commons.jxpath.ri org.apache.commons.jxpath.ri.compiler org.apache.commons.jxpath.ri.model org.apache.commons.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.commons.configuration.web.BaseWebConfiguration | org.apache.commons.configuration.web.AppletConfiguration org.apache.commons.configuration.web.ServletConfiguration org.apache.commons.configuration.web.ServletContextConfiguration org.apache.commons.configuration.web.ServletFilterConfiguration org.apache.commons.configuration.web.ServletRequestConfiguration | None | java.applet java.lang java.util javax.servlet org.apache.commons.configuration |
Package | Package Dependencies |
---|---|
org.apache.commons.configuration | org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.beanutils | org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.interpol | org.apache.commons.configuration org.apache.commons.configuration.interpol |
org.apache.commons.configuration.plist | org.apache.commons.configuration.tree org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.reloading | org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.resolver | org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.tree | org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.tree.xpath | org.apache.commons.configuration.tree org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
org.apache.commons.configuration.web | org.apache.commons.configuration org.apache.commons.configuration.interpol org.apache.commons.configuration |
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. |