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 ]

PackageTCCCACCaCeAIDV
org.apache.torque1091141510.0%52.0%38.0%1
org.apache.torque.adapter11928818.0%50.0%32.0%1
org.apache.torque.avalon21101650.0%100.0%50.0%1
org.apache.torque.criteria8715812.0%62.0%26.0%1
org.apache.torque.dsfactory53211040.0%91.0%31.0%1
org.apache.torque.manager53221340.0%87.0%27.000002%1
org.apache.torque.map770490.0%69.0%31.0%1
org.apache.torque.oid64221133.0%85.0%18.0%1
org.apache.torque.om9544744.0%64.0%8.0%1
org.apache.torque.om.mapper9812711.0%78.0%11.0%1
org.apache.torque.sql6606130.0%68.0%32.0%1
org.apache.torque.sql.objectbuilder2111850.0%89.0%39.0%1
org.apache.torque.sql.whereclausebuilder9721822.0%89.0%11.0%1
org.apache.torque.util1513261913.0%76.0%11.0%1
org.apache.torque.util.functions8621425.0%80.0%5.0%1

Packages

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

org.apache.torque

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
141510.0%52.0%38.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.Column
org.apache.torque.ColumnImpl
org.apache.torque.ConstraintViolationException
org.apache.torque.Database
org.apache.torque.NoRowsException
org.apache.torque.TooManyRowsException
org.apache.torque.Torque
org.apache.torque.TorqueException
org.apache.torque.TorqueInstance
org.apache.torque.TorqueRuntimeException
org.apache.torque.adapter
org.apache.torque.avalon
org.apache.torque.criteria
org.apache.torque.dsfactory
org.apache.torque.manager
org.apache.torque.map
org.apache.torque.oid
org.apache.torque.om
org.apache.torque.om.mapper
org.apache.torque.sql
org.apache.torque.sql.objectbuilder
org.apache.torque.sql.whereclausebuilder
org.apache.torque.util
org.apache.torque.util.functions
java.io
java.lang
java.sql
java.util
javax.sql
org.apache.commons.configuration
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.logging
org.apache.torque.adapter
org.apache.torque.dsfactory
org.apache.torque.manager
org.apache.torque.map
org.apache.torque.oid
org.apache.torque.util

org.apache.torque.adapter

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
8818.0%50.0%32.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.adapter.AbstractAdapter
org.apache.torque.adapter.Adapter
org.apache.torque.adapter.AdapterFactory
org.apache.torque.adapter.DerbyAdapter
org.apache.torque.adapter.HsqldbAdapter
org.apache.torque.adapter.IDMethod
org.apache.torque.adapter.MssqlAdapter
org.apache.torque.adapter.MysqlAdapter
org.apache.torque.adapter.NoneAdapter
org.apache.torque.adapter.OracleAdapter
org.apache.torque.adapter.PostgresAdapter
org.apache.torque
org.apache.torque.avalon
org.apache.torque.map
org.apache.torque.oid
org.apache.torque.sql
org.apache.torque.sql.objectbuilder
org.apache.torque.sql.whereclausebuilder
org.apache.torque.util
java.io
java.lang
java.sql
java.util
org.apache.commons.logging
org.apache.torque
org.apache.torque.sql
org.apache.torque.util

org.apache.torque.avalon

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01650.0%100.0%50.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.avalon.Torque
org.apache.torque.avalon.TorqueComponent
Nonejava.io
java.lang
java.sql
java.util
org.apache.avalon.framework.activity
org.apache.avalon.framework.component
org.apache.avalon.framework.configuration
org.apache.avalon.framework.context
org.apache.avalon.framework.logger
org.apache.avalon.framework.thread
org.apache.commons.configuration
org.apache.commons.lang
org.apache.torque
org.apache.torque.adapter
org.apache.torque.manager
org.apache.torque.map

org.apache.torque.criteria

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
5812.0%62.0%26.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.criteria.CriteriaInterface
org.apache.torque.criteria.Criteria
org.apache.torque.criteria.Criterion
org.apache.torque.criteria.FromElement
org.apache.torque.criteria.Join
org.apache.torque.criteria.JoinType
org.apache.torque.criteria.PreparedStatementPart
org.apache.torque.criteria.SqlEnum
org.apache.torque.map
org.apache.torque.sql
org.apache.torque.sql.objectbuilder
org.apache.torque.sql.whereclausebuilder
org.apache.torque.util
java.io
java.lang
java.util
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.torque
org.apache.torque.sql
org.apache.torque.util

org.apache.torque.dsfactory

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
11040.0%91.0%31.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.dsfactory.AbstractDataSourceFactory
org.apache.torque.dsfactory.DataSourceFactory
org.apache.torque.dsfactory.JndiDataSourceFactory
org.apache.torque.dsfactory.PerUserPoolDataSourceFactory
org.apache.torque.dsfactory.SharedPoolDataSourceFactory
org.apache.torque
java.lang
java.util
javax.naming
javax.sql
org.apache.commons.beanutils
org.apache.commons.configuration
org.apache.commons.dbcp.cpdsadapter
org.apache.commons.dbcp.datasources
org.apache.commons.logging
org.apache.torque

org.apache.torque.manager

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
21340.0%87.0%27.000002%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.manager.AbstractBaseManager
org.apache.torque.manager.CacheListener
org.apache.torque.manager.MethodCacheKey
org.apache.torque.manager.MethodResultCache
org.apache.torque.manager.NoOpMethodResultCache
org.apache.torque
org.apache.torque.avalon
java.io
java.lang
java.lang.ref
java.util
org.apache.commons.collections
org.apache.commons.configuration
org.apache.commons.lang.builder
org.apache.commons.logging
org.apache.jcs
org.apache.jcs.access
org.apache.jcs.access.exception
org.apache.torque
org.apache.torque.om

org.apache.torque.map

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
490.0%69.0%31.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.apache.torque.map.ColumnMap
org.apache.torque.map.DatabaseMap
org.apache.torque.map.ForeignKeyMap
org.apache.torque.map.ForeignKeyMap$ColumnPair
org.apache.torque.map.InheritanceMap
org.apache.torque.map.MapHelper
org.apache.torque.map.TableMap
org.apache.torque
org.apache.torque.avalon
org.apache.torque.sql
org.apache.torque.util
java.io
java.lang
java.lang.reflect
java.text
java.util
org.apache.commons.lang
org.apache.torque
org.apache.torque.adapter
org.apache.torque.criteria

org.apache.torque.oid

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
21133.0%85.0%18.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.oid.AbstractIdGenerator
org.apache.torque.oid.IdGenerator
org.apache.torque.oid.AutoIncrementIdGenerator
org.apache.torque.oid.IDBroker
org.apache.torque.oid.IDGeneratorFactory
org.apache.torque.oid.SequenceIdGenerator
org.apache.torque
org.apache.torque.util
java.lang
java.math
java.sql
java.util
org.apache.commons.configuration
org.apache.commons.logging
org.apache.torque
org.apache.torque.adapter
org.apache.torque.om.mapper
org.apache.torque.sql
org.apache.torque.util

org.apache.torque.om

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
4744.0%64.0%8.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.om.ColumnAccessByName
org.apache.torque.om.ObjectKey
org.apache.torque.om.Persistent
org.apache.torque.om.SimpleKey
org.apache.torque.om.BooleanKey
org.apache.torque.om.ComboKey
org.apache.torque.om.DateKey
org.apache.torque.om.NumberKey
org.apache.torque.om.StringKey
org.apache.torque.manager
org.apache.torque.sql
org.apache.torque.sql.objectbuilder
org.apache.torque.util
java.io
java.lang
java.math
java.sql
java.util
org.apache.commons.lang
org.apache.torque

org.apache.torque.om.mapper

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2711.0%78.0%11.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.om.mapper.RecordMapper
org.apache.torque.om.mapper.BigDecimalMapper
org.apache.torque.om.mapper.CompositeMapper
org.apache.torque.om.mapper.CompositeMapper$MapperWithOffset
org.apache.torque.om.mapper.DateMapper
org.apache.torque.om.mapper.IntegerMapper
org.apache.torque.om.mapper.LongMapper
org.apache.torque.om.mapper.ObjectListMapper
org.apache.torque.om.mapper.StringMapper
org.apache.torque.oid
org.apache.torque.util
java.io
java.lang
java.math
java.net
java.sql
java.util
org.apache.torque

org.apache.torque.sql

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
6130.0%68.0%32.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.apache.torque.sql.JoinBuilder
org.apache.torque.sql.OrderBy
org.apache.torque.sql.Query
org.apache.torque.sql.Query$Type
org.apache.torque.sql.SqlBuilder
org.apache.torque.sql.WhereClauseExpression
org.apache.torque.adapter
org.apache.torque.criteria
org.apache.torque.oid
org.apache.torque.sql.objectbuilder
org.apache.torque.sql.whereclausebuilder
org.apache.torque.util
java.io
java.lang
java.util
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.logging
org.apache.torque
org.apache.torque.adapter
org.apache.torque.criteria
org.apache.torque.map
org.apache.torque.om
org.apache.torque.sql.whereclausebuilder
org.apache.torque.util

org.apache.torque.sql.objectbuilder

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1850.0%89.0%39.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.sql.objectbuilder.ObjectPsPartBuilder
org.apache.torque.sql.objectbuilder.ObjectOrColumnPsPartBuilder
org.apache.torque.sql.whereclausebuilder
java.lang
java.util
org.apache.torque
org.apache.torque.adapter
org.apache.torque.criteria
org.apache.torque.om
org.apache.torque.sql
org.apache.torque.util

org.apache.torque.sql.whereclausebuilder

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1822.0%89.0%11.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.sql.whereclausebuilder.AbstractWhereClausePsPartBuilder
org.apache.torque.sql.whereclausebuilder.WhereClausePsPartBuilder
org.apache.torque.sql.whereclausebuilder.CurrentDateTimePsPartBuilder
org.apache.torque.sql.whereclausebuilder.CustomBuilder
org.apache.torque.sql.whereclausebuilder.InBuilder
org.apache.torque.sql.whereclausebuilder.LikeBuilder
org.apache.torque.sql.whereclausebuilder.NullValueBuilder
org.apache.torque.sql.whereclausebuilder.StandardBuilder
org.apache.torque.sql.whereclausebuilder.VerbatimSqlConditionBuilder
org.apache.torque.sql
java.lang
java.util
org.apache.commons.lang
org.apache.torque
org.apache.torque.adapter
org.apache.torque.criteria
org.apache.torque.sql
org.apache.torque.sql.objectbuilder

org.apache.torque.util

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
61913.0%76.0%11.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.util.BasePeer
org.apache.torque.util.TransactionManager
org.apache.torque.util.BasePeerImpl
org.apache.torque.util.ColumnValues
org.apache.torque.util.CountHelper
org.apache.torque.util.Criteria
org.apache.torque.util.Criteria$Criterion
org.apache.torque.util.JdbcTypedValue
org.apache.torque.util.LargeSelect
org.apache.torque.util.ListOrderedMapCI
org.apache.torque.util.SummaryHelper
org.apache.torque.util.Transaction
org.apache.torque.util.TransactionManagerImpl
org.apache.torque.util.UniqueColumnList
org.apache.torque.util.UniqueList
org.apache.torque
org.apache.torque.adapter
org.apache.torque.criteria
org.apache.torque.oid
org.apache.torque.sql
org.apache.torque.sql.objectbuilder
java.io
java.lang
java.math
java.sql
java.util
org.apache.commons.collections
org.apache.commons.collections.map
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.logging
org.apache.torque
org.apache.torque.adapter
org.apache.torque.criteria
org.apache.torque.map
org.apache.torque.oid
org.apache.torque.om
org.apache.torque.om.mapper
org.apache.torque.sql
org.apache.torque.util.functions

org.apache.torque.util.functions

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1425.0%80.0%5.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.torque.util.functions.AbstractFunction
org.apache.torque.util.functions.SQLFunction
org.apache.torque.util.functions.AggregateFunction
org.apache.torque.util.functions.Avg
org.apache.torque.util.functions.Count
org.apache.torque.util.functions.Max
org.apache.torque.util.functions.Min
org.apache.torque.util.functions.Sum
org.apache.torque.util
java.lang
java.util
org.apache.commons.lang
org.apache.torque

Cycles

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

PackagePackage Dependencies
org.apache.torqueorg.apache.torque.adapter
org.apache.torque
org.apache.torque.adapterorg.apache.torque
org.apache.torque.adapter
org.apache.torque.avalonorg.apache.torque.map
org.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.criteriaorg.apache.torque.util
org.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.dsfactoryorg.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.managerorg.apache.torque.om
org.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.maporg.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.oidorg.apache.torque.adapter
org.apache.torque
org.apache.torque.adapter
org.apache.torque.omorg.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.om.mapperorg.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.sqlorg.apache.torque.om
org.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.sql.objectbuilderorg.apache.torque.om
org.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.sql.whereclausebuilderorg.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.utilorg.apache.torque
org.apache.torque.adapter
org.apache.torque
org.apache.torque.util.functionsorg.apache.torque
org.apache.torque.adapter
org.apache.torque

Explanation

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

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

TermDescription
Number of ClassesThe number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent CouplingsThe number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent CouplingsThe number of other packages that the classes in the package depend upon is an indicator of the package's independence.
AbstractnessThe 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.
InstabilityThe 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.
DistanceThe 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.
CyclesPackages 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.