The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.
Package |
TC |
CC |
AC |
Ca |
Ce |
A |
I |
D |
V |
org.apache.commons.beanutils |
76 |
67 |
9 |
3 |
16 |
12.0% |
84.0% |
4.0% |
1 |
org.apache.commons.beanutils.converters |
34 |
30 |
4 |
1 |
10 |
12.0% |
91.0% |
3.0% |
1 |
org.apache.commons.beanutils.expression |
2 |
1 |
1 |
2 |
1 |
50.0% |
33.0% |
17.0% |
1 |
org.apache.commons.beanutils.locale |
11 |
9 |
2 |
1 |
12 |
18.0% |
92.0% |
10.0% |
1 |
org.apache.commons.beanutils.locale.converters |
14 |
14 |
0 |
1 |
8 |
0.0% |
89.0% |
11.0% |
1 |
Abstract Classes |
Concrete Classes |
Used by Packages |
Uses Packages |
org.apache.commons.beanutils.BaseDynaBeanMapDecorator org.apache.commons.beanutils.BeanIntrospector org.apache.commons.beanutils.Converter org.apache.commons.beanutils.DynaBean org.apache.commons.beanutils.DynaClass org.apache.commons.beanutils.IntrospectionContext org.apache.commons.beanutils.JDBCDynaClass org.apache.commons.beanutils.MutableDynaClass org.apache.commons.beanutils.WeakFastHashMap$CollectionView
|
org.apache.commons.beanutils.BaseDynaBeanMapDecorator$MapEntry org.apache.commons.beanutils.BasicDynaBean org.apache.commons.beanutils.BasicDynaClass org.apache.commons.beanutils.BeanAccessLanguageException org.apache.commons.beanutils.BeanComparator org.apache.commons.beanutils.BeanIntrospectionData org.apache.commons.beanutils.BeanMap org.apache.commons.beanutils.BeanMap$1 org.apache.commons.beanutils.BeanMap$10 org.apache.commons.beanutils.BeanMap$11 org.apache.commons.beanutils.BeanMap$12 org.apache.commons.beanutils.BeanMap$2 org.apache.commons.beanutils.BeanMap$3 org.apache.commons.beanutils.BeanMap$4 org.apache.commons.beanutils.BeanMap$5 org.apache.commons.beanutils.BeanMap$6 org.apache.commons.beanutils.BeanMap$7 org.apache.commons.beanutils.BeanMap$8 org.apache.commons.beanutils.BeanMap$9 org.apache.commons.beanutils.BeanMap$Entry org.apache.commons.beanutils.BeanPredicate org.apache.commons.beanutils.BeanPropertyValueChangeClosure org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate org.apache.commons.beanutils.BeanToPropertyValueTransformer org.apache.commons.beanutils.BeanUtils org.apache.commons.beanutils.BeanUtilsBean org.apache.commons.beanutils.BeanUtilsBean$1 org.apache.commons.beanutils.BeanUtilsBean2 org.apache.commons.beanutils.ConstructorUtils org.apache.commons.beanutils.ContextClassLoaderLocal org.apache.commons.beanutils.ConversionException org.apache.commons.beanutils.ConvertUtils org.apache.commons.beanutils.ConvertUtilsBean org.apache.commons.beanutils.ConvertUtilsBean2 org.apache.commons.beanutils.ConvertingWrapDynaBean org.apache.commons.beanutils.DefaultBeanIntrospector org.apache.commons.beanutils.DefaultIntrospectionContext org.apache.commons.beanutils.DynaBeanMapDecorator org.apache.commons.beanutils.DynaBeanPropertyMapDecorator org.apache.commons.beanutils.DynaProperty org.apache.commons.beanutils.FluentPropertyBeanIntrospector org.apache.commons.beanutils.LazyDynaBean org.apache.commons.beanutils.LazyDynaClass org.apache.commons.beanutils.LazyDynaList org.apache.commons.beanutils.LazyDynaMap org.apache.commons.beanutils.MappedPropertyDescriptor org.apache.commons.beanutils.MappedPropertyDescriptor$MappedMethodReference org.apache.commons.beanutils.MethodUtils org.apache.commons.beanutils.MethodUtils$MethodDescriptor org.apache.commons.beanutils.NestedNullException org.apache.commons.beanutils.PropertyUtils org.apache.commons.beanutils.PropertyUtilsBean org.apache.commons.beanutils.ResultSetDynaClass org.apache.commons.beanutils.ResultSetIterator org.apache.commons.beanutils.RowSetDynaClass org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector org.apache.commons.beanutils.WeakFastHashMap org.apache.commons.beanutils.WeakFastHashMap$1 org.apache.commons.beanutils.WeakFastHashMap$CollectionView$CollectionViewIterator org.apache.commons.beanutils.WeakFastHashMap$EntrySet org.apache.commons.beanutils.WeakFastHashMap$KeySet org.apache.commons.beanutils.WeakFastHashMap$Values org.apache.commons.beanutils.WrapDynaBean org.apache.commons.beanutils.WrapDynaClass org.apache.commons.beanutils.WrapDynaClass$1 org.apache.commons.beanutils.WrapDynaClass$2 org.apache.commons.beanutils.WrapDynaClass$CacheKey
|
org.apache.commons.beanutils.converters org.apache.commons.beanutils.locale org.apache.commons.beanutils.locale.converters
|
java.beans java.io java.lang java.lang.ref java.lang.reflect java.math java.net java.sql java.util java.util.concurrent org.apache.commons.beanutils.converters org.apache.commons.beanutils.expression org.apache.commons.collections org.apache.commons.collections.comparators org.apache.commons.collections.keyvalue org.apache.commons.logging
|
Abstract Classes |
Concrete Classes |
Used by Packages |
Uses Packages |
org.apache.commons.beanutils.converters.AbstractArrayConverter org.apache.commons.beanutils.converters.AbstractConverter org.apache.commons.beanutils.converters.DateTimeConverter org.apache.commons.beanutils.converters.NumberConverter
|
org.apache.commons.beanutils.converters.ArrayConverter org.apache.commons.beanutils.converters.BigDecimalConverter org.apache.commons.beanutils.converters.BigIntegerConverter org.apache.commons.beanutils.converters.BooleanArrayConverter org.apache.commons.beanutils.converters.BooleanConverter org.apache.commons.beanutils.converters.ByteArrayConverter org.apache.commons.beanutils.converters.ByteConverter org.apache.commons.beanutils.converters.CalendarConverter org.apache.commons.beanutils.converters.CharacterArrayConverter org.apache.commons.beanutils.converters.CharacterConverter org.apache.commons.beanutils.converters.ClassConverter org.apache.commons.beanutils.converters.ConverterFacade org.apache.commons.beanutils.converters.DateConverter org.apache.commons.beanutils.converters.DoubleArrayConverter org.apache.commons.beanutils.converters.DoubleConverter org.apache.commons.beanutils.converters.FileConverter org.apache.commons.beanutils.converters.FloatArrayConverter org.apache.commons.beanutils.converters.FloatConverter org.apache.commons.beanutils.converters.IntegerArrayConverter org.apache.commons.beanutils.converters.IntegerConverter org.apache.commons.beanutils.converters.LongArrayConverter org.apache.commons.beanutils.converters.LongConverter org.apache.commons.beanutils.converters.ShortArrayConverter org.apache.commons.beanutils.converters.ShortConverter org.apache.commons.beanutils.converters.SqlDateConverter org.apache.commons.beanutils.converters.SqlTimeConverter org.apache.commons.beanutils.converters.SqlTimestampConverter org.apache.commons.beanutils.converters.StringArrayConverter org.apache.commons.beanutils.converters.StringConverter org.apache.commons.beanutils.converters.URLConverter
|
org.apache.commons.beanutils
|
java.io java.lang java.lang.reflect java.math java.net java.sql java.text java.util org.apache.commons.beanutils org.apache.commons.logging
|
Abstract Classes |
Concrete Classes |
Used by Packages |
Uses Packages |
org.apache.commons.beanutils.expression.Resolver
|
org.apache.commons.beanutils.expression.DefaultResolver
|
org.apache.commons.beanutils org.apache.commons.beanutils.locale
|
java.lang
|
Abstract Classes |
Concrete Classes |
Used by Packages |
Uses Packages |
org.apache.commons.beanutils.locale.BaseLocaleConverter org.apache.commons.beanutils.locale.LocaleConverter
|
org.apache.commons.beanutils.locale.LocaleBeanUtils org.apache.commons.beanutils.locale.LocaleBeanUtils$Descriptor org.apache.commons.beanutils.locale.LocaleBeanUtilsBean org.apache.commons.beanutils.locale.LocaleBeanUtilsBean$1 org.apache.commons.beanutils.locale.LocaleBeanUtilsBean$Descriptor org.apache.commons.beanutils.locale.LocaleConvertUtils org.apache.commons.beanutils.locale.LocaleConvertUtilsBean org.apache.commons.beanutils.locale.LocaleConvertUtilsBean$1 org.apache.commons.beanutils.locale.LocaleConvertUtilsBean$DelegateFastHashMap
|
org.apache.commons.beanutils.locale.converters
|
java.beans java.lang java.lang.reflect java.math java.sql java.text java.util org.apache.commons.beanutils org.apache.commons.beanutils.expression org.apache.commons.beanutils.locale.converters org.apache.commons.collections org.apache.commons.logging
|
Abstract Classes |
Concrete Classes |
Used by Packages |
Uses Packages |
None |
org.apache.commons.beanutils.locale.converters.BigDecimalLocaleConverter org.apache.commons.beanutils.locale.converters.BigIntegerLocaleConverter org.apache.commons.beanutils.locale.converters.ByteLocaleConverter org.apache.commons.beanutils.locale.converters.DateLocaleConverter org.apache.commons.beanutils.locale.converters.DecimalLocaleConverter org.apache.commons.beanutils.locale.converters.DoubleLocaleConverter org.apache.commons.beanutils.locale.converters.FloatLocaleConverter org.apache.commons.beanutils.locale.converters.IntegerLocaleConverter org.apache.commons.beanutils.locale.converters.LongLocaleConverter org.apache.commons.beanutils.locale.converters.ShortLocaleConverter org.apache.commons.beanutils.locale.converters.SqlDateLocaleConverter org.apache.commons.beanutils.locale.converters.SqlTimeLocaleConverter org.apache.commons.beanutils.locale.converters.SqlTimestampLocaleConverter org.apache.commons.beanutils.locale.converters.StringLocaleConverter
|
org.apache.commons.beanutils.locale
|
java.lang java.math java.sql java.text java.util org.apache.commons.beanutils org.apache.commons.beanutils.locale org.apache.commons.logging
|
Package |
Package Dependencies |
org.apache.commons.beanutils |
org.apache.commons.beanutils.converters org.apache.commons.beanutils
|
org.apache.commons.beanutils.converters |
org.apache.commons.beanutils org.apache.commons.beanutils.converters
|
org.apache.commons.beanutils.locale |
org.apache.commons.beanutils org.apache.commons.beanutils.converters org.apache.commons.beanutils
|
org.apache.commons.beanutils.locale.converters |
org.apache.commons.beanutils.locale org.apache.commons.beanutils org.apache.commons.beanutils.converters org.apache.commons.beanutils
|
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. |