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 ]

Package TC CC AC Ca Ce A I D V
org.apache.commons.betwixt 16 14 2 9 13 12.0% 58.999996% 28.0% 1
org.apache.commons.betwixt.digester 17 16 1 2 12 6.0% 86.0% 8.0% 1
org.apache.commons.betwixt.expression 20 17 3 5 8 15.000001% 62.0% 23.0% 1
org.apache.commons.betwixt.io 17 14 3 1 17 18.0% 94.0% 12.0% 1
org.apache.commons.betwixt.io.id 3 2 1 1 3 33.0% 75.0% 8.0% 1
org.apache.commons.betwixt.io.read 20 17 3 3 11 15.000001% 79.0% 6.0% 1
org.apache.commons.betwixt.registry 4 2 2 3 4 50.0% 57.0% 7.0% 1
org.apache.commons.betwixt.schema 16 13 3 0 7 19.0% 100.0% 19.0% 1
org.apache.commons.betwixt.schema.strategy 1 0 1 2 2 100.0% 50.0% 50.0% 1
org.apache.commons.betwixt.schema.strategy.impl 3 3 0 1 3 0.0% 75.0% 25.0% 1
org.apache.commons.betwixt.strategy 47 33 14 8 11 30.000002% 58.0% 12.0% 1
org.apache.commons.betwixt.strategy.impl 1 1 0 0 3 0.0% 100.0% 0.0% 1
org.apache.commons.betwixt.strategy.impl.propertysuppression 1 1 0 0 2 0.0% 100.0% 0.0% 1

Packages

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

org.apache.commons.betwixt

Afferent Couplings Efferent Couplings Abstractness Instability Distance
9 13 12.0% 58.999996% 28.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.Descriptor
org.apache.commons.betwixt.XMLIntrospector$BeanType
org.apache.commons.betwixt.AttributeDescriptor
org.apache.commons.betwixt.BeanProperty
org.apache.commons.betwixt.BindingConfiguration
org.apache.commons.betwixt.ElementDescriptor
org.apache.commons.betwixt.IntrospectionConfiguration
org.apache.commons.betwixt.NodeDescriptor
org.apache.commons.betwixt.Options
org.apache.commons.betwixt.TextDescriptor
org.apache.commons.betwixt.XMLBeanInfo
org.apache.commons.betwixt.XMLIntrospector
org.apache.commons.betwixt.XMLIntrospector$1
org.apache.commons.betwixt.XMLIntrospector$DynaClassBeanType
org.apache.commons.betwixt.XMLIntrospector$JavaBeanType
org.apache.commons.betwixt.XMLUtils
org.apache.commons.betwixt.digester
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.registry
org.apache.commons.betwixt.schema
org.apache.commons.betwixt.schema.strategy
org.apache.commons.betwixt.schema.strategy.impl
org.apache.commons.betwixt.strategy
java.beans
java.io
java.lang
java.lang.reflect
java.net
java.util
org.apache.commons.beanutils
org.apache.commons.betwixt.digester
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.registry
org.apache.commons.betwixt.strategy
org.apache.commons.logging
org.xml.sax

org.apache.commons.betwixt.digester

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 12 6.0% 86.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.digester.MappedPropertyRule
org.apache.commons.betwixt.digester.AddDefaultsRule
org.apache.commons.betwixt.digester.AttributeRule
org.apache.commons.betwixt.digester.ClassRule
org.apache.commons.betwixt.digester.CommonRuleSet
org.apache.commons.betwixt.digester.ConfigRule
org.apache.commons.betwixt.digester.ElementRule
org.apache.commons.betwixt.digester.HideRule
org.apache.commons.betwixt.digester.InfoRule
org.apache.commons.betwixt.digester.MultiMappingBeanInfoDigester
org.apache.commons.betwixt.digester.OptionRule
org.apache.commons.betwixt.digester.OptionRule$1
org.apache.commons.betwixt.digester.OptionRule$2
org.apache.commons.betwixt.digester.RuleSupport
org.apache.commons.betwixt.digester.TextRule
org.apache.commons.betwixt.digester.XMLBeanInfoDigester
org.apache.commons.betwixt.digester.XMLIntrospectorHelper
org.apache.commons.betwixt
org.apache.commons.betwixt.io
java.beans
java.lang
java.lang.reflect
java.util
javax.xml.parsers
org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.registry
org.apache.commons.betwixt.strategy
org.apache.commons.digester
org.apache.commons.logging
org.xml.sax

org.apache.commons.betwixt.expression

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 8 15.000001% 62.0% 23.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.expression.Expression
org.apache.commons.betwixt.expression.TypedUpdater
org.apache.commons.betwixt.expression.Updater
org.apache.commons.betwixt.expression.ClassNameExpression
org.apache.commons.betwixt.expression.CollectionUpdater
org.apache.commons.betwixt.expression.ConstantExpression
org.apache.commons.betwixt.expression.Context
org.apache.commons.betwixt.expression.DynaBeanExpression
org.apache.commons.betwixt.expression.DynaBeanUpdater
org.apache.commons.betwixt.expression.EmptyExpression
org.apache.commons.betwixt.expression.IteratorExpression
org.apache.commons.betwixt.expression.IteratorExpression$ArrayIterator
org.apache.commons.betwixt.expression.IteratorExpression$EnumerationIterator
org.apache.commons.betwixt.expression.MapEntryAdder
org.apache.commons.betwixt.expression.MapEntryAdder$1
org.apache.commons.betwixt.expression.MapEntryAdder$2
org.apache.commons.betwixt.expression.MethodExpression
org.apache.commons.betwixt.expression.MethodUpdater
org.apache.commons.betwixt.expression.StringExpression
org.apache.commons.betwixt.expression.VariableExpression
org.apache.commons.betwixt
org.apache.commons.betwixt.digester
org.apache.commons.betwixt.io
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.strategy
java.lang
java.lang.reflect
java.util
org.apache.commons.beanutils
org.apache.commons.betwixt
org.apache.commons.betwixt.strategy
org.apache.commons.collections
org.apache.commons.logging

org.apache.commons.betwixt.io

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 17 18.0% 94.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.io.AbstractBeanWriter
org.apache.commons.betwixt.io.IDGenerator
org.apache.commons.betwixt.io.WriteContext
org.apache.commons.betwixt.io.AbstractBeanWriter$1
org.apache.commons.betwixt.io.AbstractBeanWriter$ElementAttributes
org.apache.commons.betwixt.io.AbstractBeanWriter$IDElementAttributes
org.apache.commons.betwixt.io.AbstractBeanWriter$WriteContextImpl
org.apache.commons.betwixt.io.BeanCreateRule
org.apache.commons.betwixt.io.BeanCreateRule$1
org.apache.commons.betwixt.io.BeanReader
org.apache.commons.betwixt.io.BeanRuleSet
org.apache.commons.betwixt.io.BeanRuleSet$1
org.apache.commons.betwixt.io.BeanRuleSet$ActionMappingRule
org.apache.commons.betwixt.io.BeanRuleSet$DigesterReadContext
org.apache.commons.betwixt.io.BeanWriter
org.apache.commons.betwixt.io.CyclicReferenceException
org.apache.commons.betwixt.io.SAXBeanWriter
org.apache.commons.betwixt.io.id
java.beans
java.io
java.lang
java.lang.reflect
java.util
javax.xml.parsers
org.apache.commons.betwixt
org.apache.commons.betwixt.digester
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io.id
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.strategy
org.apache.commons.collections
org.apache.commons.digester
org.apache.commons.logging
org.xml.sax
org.xml.sax.helpers

org.apache.commons.betwixt.io.id

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 3 33.0% 75.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.io.id.AbstractIDGenerator
org.apache.commons.betwixt.io.id.RandomIDGenerator
org.apache.commons.betwixt.io.id.SequentialIDGenerator
org.apache.commons.betwixt.io
java.lang
java.util
org.apache.commons.betwixt.io

org.apache.commons.betwixt.io.read

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 11 15.000001% 79.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.io.read.BeanCreationChain
org.apache.commons.betwixt.io.read.ChainedBeanCreator
org.apache.commons.betwixt.io.read.MappingAction
org.apache.commons.betwixt.io.read.ArrayBindAction
org.apache.commons.betwixt.io.read.ArrayBindAction$BeanMapping
org.apache.commons.betwixt.io.read.ArrayBindAction$ListUpdater
org.apache.commons.betwixt.io.read.BeanBindAction
org.apache.commons.betwixt.io.read.BeanCreationList
org.apache.commons.betwixt.io.read.BeanCreationList$ChainWorker
org.apache.commons.betwixt.io.read.ChainedBeanCreatorFactory
org.apache.commons.betwixt.io.read.ChainedBeanCreatorFactory$1
org.apache.commons.betwixt.io.read.ChainedBeanCreatorFactory$2
org.apache.commons.betwixt.io.read.ChainedBeanCreatorFactory$3
org.apache.commons.betwixt.io.read.ElementMapping
org.apache.commons.betwixt.io.read.MappingAction$1
org.apache.commons.betwixt.io.read.MappingAction$Base
org.apache.commons.betwixt.io.read.MappingAction$Ignore
org.apache.commons.betwixt.io.read.ReadConfiguration
org.apache.commons.betwixt.io.read.ReadContext
org.apache.commons.betwixt.io.read.SimpleTypeBindAction
org.apache.commons.betwixt.io
org.apache.commons.betwixt.registry
org.apache.commons.betwixt.strategy
java.beans
java.lang
java.lang.reflect
java.util
org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.registry
org.apache.commons.betwixt.strategy
org.apache.commons.collections
org.apache.commons.logging
org.xml.sax

org.apache.commons.betwixt.registry

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 4 50.0% 57.0% 7.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.registry.PolymorphicReferenceResolver
org.apache.commons.betwixt.registry.XMLBeanInfoRegistry
org.apache.commons.betwixt.registry.DefaultXMLBeanInfoRegistry
org.apache.commons.betwixt.registry.NoCacheRegistry
org.apache.commons.betwixt
org.apache.commons.betwixt.digester
org.apache.commons.betwixt.io.read
java.lang
java.util
org.apache.commons.betwixt
org.apache.commons.betwixt.io.read

org.apache.commons.betwixt.schema

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 19.0% 100.0% 19.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.schema.ComplexType
org.apache.commons.betwixt.schema.DataTypeMapper
org.apache.commons.betwixt.schema.Element
org.apache.commons.betwixt.schema.Attribute
org.apache.commons.betwixt.schema.ComplexLocalElement
org.apache.commons.betwixt.schema.DefaultDataTypeMapper
org.apache.commons.betwixt.schema.ElementReference
org.apache.commons.betwixt.schema.GlobalComplexType
org.apache.commons.betwixt.schema.GlobalElement
org.apache.commons.betwixt.schema.LocalComplexType
org.apache.commons.betwixt.schema.LocalElement
org.apache.commons.betwixt.schema.Schema
org.apache.commons.betwixt.schema.SchemaTranscriber
org.apache.commons.betwixt.schema.SimpleLocalElement
org.apache.commons.betwixt.schema.SimpleType
org.apache.commons.betwixt.schema.TranscriptionConfiguration
None java.beans
java.lang
java.util
org.apache.commons.betwixt
org.apache.commons.betwixt.schema.strategy
org.apache.commons.betwixt.schema.strategy.impl
org.apache.commons.betwixt.strategy

org.apache.commons.betwixt.schema.strategy

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 2 100.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.schema.strategy.SchemaTypeNamingStrategy
None org.apache.commons.betwixt.schema
org.apache.commons.betwixt.schema.strategy.impl
java.lang
org.apache.commons.betwixt

org.apache.commons.betwixt.schema.strategy.impl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 3 0.0% 75.0% 25.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.commons.betwixt.schema.strategy.impl.ClassNameSchemaNamingStrategy
org.apache.commons.betwixt.schema.strategy.impl.ElementSchemaNamingStrategy
org.apache.commons.betwixt.schema.strategy.impl.QualifiedPropertyTypeSchemaNamingStrategy
org.apache.commons.betwixt.schema
java.lang
org.apache.commons.betwixt
org.apache.commons.betwixt.schema.strategy

org.apache.commons.betwixt.strategy

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 11 30.000002% 58.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.commons.betwixt.strategy.ActionMappingStrategy
org.apache.commons.betwixt.strategy.AttributeSuppressionStrategy
org.apache.commons.betwixt.strategy.BaseMixedContentEncodingStrategy
org.apache.commons.betwixt.strategy.CollectiveTypeStrategy
org.apache.commons.betwixt.strategy.ElementSuppressionStrategy
org.apache.commons.betwixt.strategy.IdStoringStrategy
org.apache.commons.betwixt.strategy.MappingDerivationStrategy
org.apache.commons.betwixt.strategy.MixedContentEncodingStrategy
org.apache.commons.betwixt.strategy.NameMapper
org.apache.commons.betwixt.strategy.PluralStemmer
org.apache.commons.betwixt.strategy.PropertySuppressionStrategy
org.apache.commons.betwixt.strategy.SimpleTypeMapper
org.apache.commons.betwixt.strategy.TypeBindingStrategy
org.apache.commons.betwixt.strategy.ValueSuppressionStrategy
org.apache.commons.betwixt.strategy.AttributeSuppressionStrategy$1
org.apache.commons.betwixt.strategy.BadCharacterReplacingNMapper
org.apache.commons.betwixt.strategy.CapitalizeNameMapper
org.apache.commons.betwixt.strategy.ClassNormalizer
org.apache.commons.betwixt.strategy.CollectiveTypeStrategy$Default
org.apache.commons.betwixt.strategy.ConvertUtilsObjectStringConverter
org.apache.commons.betwixt.strategy.DecapitalizeNameMapper
org.apache.commons.betwixt.strategy.DefaultActionMappingStrategy
org.apache.commons.betwixt.strategy.DefaultIdStoringStrategy
org.apache.commons.betwixt.strategy.DefaultNameMapper
org.apache.commons.betwixt.strategy.DefaultNameMapper$1
org.apache.commons.betwixt.strategy.DefaultNameMapper$PlainMapper
org.apache.commons.betwixt.strategy.DefaultObjectStringConverter
org.apache.commons.betwixt.strategy.DefaultPluralStemmer
org.apache.commons.betwixt.strategy.ElementSuppressionStrategy$1
org.apache.commons.betwixt.strategy.HyphenatedNameMapper
org.apache.commons.betwixt.strategy.ListedClassNormalizer
org.apache.commons.betwixt.strategy.ListedClassNormalizer$ListEntry
org.apache.commons.betwixt.strategy.MappingDerivationStrategy$1
org.apache.commons.betwixt.strategy.MappingDerivationStrategy$2
org.apache.commons.betwixt.strategy.MixedContentEncodingStrategy$1
org.apache.commons.betwixt.strategy.MixedContentEncodingStrategy$2
org.apache.commons.betwixt.strategy.MixedContentEncodingStrategy$3
org.apache.commons.betwixt.strategy.NamespacePrefixMapper
org.apache.commons.betwixt.strategy.ObjectStringConverter
org.apache.commons.betwixt.strategy.PropertySuppressionStrategy$Chain
org.apache.commons.betwixt.strategy.PropertySuppressionStrategy$Default
org.apache.commons.betwixt.strategy.SimpleTypeMapper$Binding
org.apache.commons.betwixt.strategy.StandardSimpleTypeMapper
org.apache.commons.betwixt.strategy.TypeBindingStrategy$BindingType
org.apache.commons.betwixt.strategy.TypeBindingStrategy$Default
org.apache.commons.betwixt.strategy.ValueSuppressionStrategy$1
org.apache.commons.betwixt.strategy.ValueSuppressionStrategy$2
org.apache.commons.betwixt
org.apache.commons.betwixt.digester
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.schema
org.apache.commons.betwixt.strategy.impl
org.apache.commons.betwixt.strategy.impl.propertysuppression
java.beans
java.io
java.lang
java.text
java.util
org.apache.commons.beanutils
org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io.read
org.apache.commons.logging
org.xml.sax

org.apache.commons.betwixt.strategy.impl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.commons.betwixt.strategy.impl.OverrideCollectiveTypeStategy
None java.lang
java.util
org.apache.commons.betwixt.strategy

org.apache.commons.betwixt.strategy.impl.propertysuppression

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.commons.betwixt.strategy.impl.propertysuppression.PackageSuppressor
None java.lang
org.apache.commons.betwixt.strategy

Cycles

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

Package Package Dependencies
org.apache.commons.betwixt org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.digester org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.expression org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io.id org.apache.commons.betwixt.io
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.io.read org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.registry org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.schema org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.schema.strategy org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.schema.strategy.impl org.apache.commons.betwixt
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.strategy.impl org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.strategy.impl.propertysuppression org.apache.commons.betwixt.strategy
org.apache.commons.betwixt.io.read
org.apache.commons.betwixt.expression
org.apache.commons.betwixt.strategy

Explanation

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

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

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.