| Package | TC | CC | AC | Ca | Ce | A | I | D | V |
|---|---|---|---|---|---|---|---|---|---|
| org.apache.commons.configuration | 91 | 81 | 10 | 4 | 37 | 11.0% | 90.0% | 1.0% | 1 |
| org.apache.commons.configuration.beanutils | 7 | 5 | 2 | 1 | 8 | 29.0% | 89.0% | 17.0% | 1 |
| org.apache.commons.configuration.event | 5 | 3 | 2 | 1 | 2 | 40.0% | 67.0% | 7.0% | 1 |
| org.apache.commons.configuration.interpol | 2 | 2 | 0 | 1 | 6 | 0.0% | 86.0% | 14.0% | 1 |
| org.apache.commons.configuration.plist | 21 | 19 | 2 | 1 | 12 | 10.0% | 92.0% | 2.0% | 1 |
| org.apache.commons.configuration.reloading | 5 | 3 | 2 | 1 | 5 | 40.0% | 83.0% | 23.0% | 1 |
| org.apache.commons.configuration.tree | 14 | 10 | 4 | 3 | 3 | 29.0% | 50.0% | 21.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 | 6 | 17.0% | 100.0% | 17.0% | 1 |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 37 | 11.0% | 90.0% | 1.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.HierarchicalConfiguration$BuilderVisitor org.apache.commons.configuration.HierarchicalConfigurationConverter |
org.apache.commons.configuration.AbstractConfiguration$1 org.apache.commons.configuration.AbstractConfiguration$2 org.apache.commons.configuration.AbstractConfiguration$3 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$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.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.HierarchicalXMLConfiguration org.apache.commons.configuration.INIConfiguration org.apache.commons.configuration.JNDIConfiguration org.apache.commons.configuration.MapConfiguration org.apache.commons.configuration.PropertiesConfiguration 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$1 org.apache.commons.configuration.SubsetConfiguration$2 org.apache.commons.configuration.SystemConfiguration 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.plist org.apache.commons.configuration.reloading org.apache.commons.configuration.web |
java.awt java.io java.lang java.lang.reflect java.math java.net java.sql java.text java.util javax.naming javax.sql javax.xml.parsers javax.xml.transform javax.xml.transform.dom javax.xml.transform.stream org.apache.commons.collections org.apache.commons.collections.iterators org.apache.commons.collections.map org.apache.commons.collections.set 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.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.tools.ant.taskdefs org.w3c.dom org.xml.sax org.xml.sax.helpers |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 8 | 29.0% | 89.0% | 17.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.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 | 2 | 40.0% | 67.0% | 7.0% |
| 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 |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 6 | 0.0% | 86.0% | 14.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 |
java.lang java.lang.reflect java.util org.apache.commons.lang org.apache.commons.lang.text org.apache.commons.logging |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 12 | 10.0% | 92.0% | 2.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.lang org.xml.sax org.xml.sax.helpers |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 5 | 40.0% | 83.0% | 23.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.configuration.reloading.ManagedReloadingStrategyMBean 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 |
java.io java.lang java.net org.apache.commons.configuration org.apache.commons.logging |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 3 | 3 | 29.0% | 50.0% | 21.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.NodeAddData org.apache.commons.configuration.tree.OverrideCombiner 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.tree.xpath |
java.lang java.util 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 | 6 | 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.collections.iterators org.apache.commons.configuration |
| Package | Package Dependencies |
|---|---|
| org.apache.commons.configuration | org.apache.commons.configuration.reloading org.apache.commons.configuration |
| org.apache.commons.configuration.beanutils | org.apache.commons.configuration org.apache.commons.configuration.reloading org.apache.commons.configuration |
| org.apache.commons.configuration.plist | org.apache.commons.configuration org.apache.commons.configuration.reloading org.apache.commons.configuration |
| org.apache.commons.configuration.reloading | org.apache.commons.configuration org.apache.commons.configuration.reloading |
| org.apache.commons.configuration.web | org.apache.commons.configuration org.apache.commons.configuration.reloading 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. |