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
com.aurea.maven.plugins.sonic 2 1 1 3 19 50.0% 86.0% 36.0% 1
com.aurea.maven.plugins.sonic.esb 14 10 4 1 34 29.0% 97.0% 26.0% 1
com.aurea.maven.plugins.sonic.esb.ai 1 1 0 0 7 0.0% 100.0% 0.0% 1
com.aurea.maven.plugins.sonic.sdm 13 12 1 0 27 8.0% 100.0% 8.0% 1
com.aurea.maven.plugins.sonic.sdm.container 6 0 6 3 4 100.0% 57.0% 57.0% 1
com.aurea.maven.plugins.sonic.sdm.container.impl 6 6 0 3 9 0.0% 75.0% 25.0% 1
com.aurea.maven.plugins.sonic.sdm.util 8 6 2 1 12 25.0% 92.0% 17.0% 1
com.aurea.maven.plugins.sonic.sdo 2 0 2 2 7 100.0% 78.0% 78.0% 1
com.aurea.maven.plugins.sonic.topology 3 2 1 0 11 33.0% 100.0% 33.0% 1
com.aurea.maven.plugins.sonic.topology.utils 7 7 0 2 4 0.0% 67.0% 33.0% 1
com.aurea.maven.plugins.sonic.utils 13 13 0 5 33 0.0% 87.0% 13.0% 1
com.aurea.maven.plugins.sonic.utils.xmlsorter 3 3 0 1 6 0.0% 86.0% 14.0% 1
com.aurea.maven.plugins.util 5 5 0 3 17 0.0% 85.0% 15.000001% 1
no.geosoft.cc.util 1 1 0 3 3 0.0% 50.0% 50.0% 1

Packages

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

com.aurea.maven.plugins.sonic

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 19 50.0% 86.0% 36.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.AbstractSonicMojo
com.aurea.maven.plugins.sonic.SonicUnpackDependenciesMojo
com.aurea.maven.plugins.sonic.esb
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.topology
com.aurea.maven.plugins.sonic.utils
com.progress.sonic.utilities.esb.admin
com.progress.sonic.utilities.mfutils
com.sonicsw.deploy.artifact
com.sonicsw.deploy.storage
com.sonicsw.deploy.tools.common
java.io
java.lang
java.util
org.apache.maven.artifact
org.apache.maven.artifact.handler
org.apache.maven.execution
org.apache.maven.model
org.apache.maven.plugin
org.apache.maven.plugin.logging
org.apache.maven.project
org.codehaus.plexus.util
org.codehaus.plexus.util.xml
org.twdata.maven.mojoexecutor

com.aurea.maven.plugins.sonic.esb

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 34 29.0% 97.0% 26.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.esb.AbstractESBConnectMojo
com.aurea.maven.plugins.sonic.esb.AbstractESBMojo
com.aurea.maven.plugins.sonic.esb.AbstractEsbPackageMojo
com.aurea.maven.plugins.sonic.esb.AbstractExportGeneratedSrcMojo
com.aurea.maven.plugins.sonic.esb.ConnectGenerateMojo
com.aurea.maven.plugins.sonic.esb.ConnectPackageMojo
com.aurea.maven.plugins.sonic.esb.ConnectPackageMojo$SortedProperties
com.aurea.maven.plugins.sonic.esb.EsbDependenciesMojo
com.aurea.maven.plugins.sonic.esb.EsbDxsiPackageMojo
com.aurea.maven.plugins.sonic.esb.EsbExportGeneratedSrcMojo
com.aurea.maven.plugins.sonic.esb.EsbPackageMojo
com.aurea.maven.plugins.sonic.esb.EsbTestExportGeneratedSrcMojo
com.aurea.maven.plugins.sonic.esb.EsbTestPackageMojo
com.aurea.maven.plugins.sonic.esb.MavenEsbSvcPackageMojo
com.aurea.maven.plugins.sonic.esb.ai
com.aurea.maven.plugins.sonic
com.aurea.maven.plugins.sonic.sdm.container.impl
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.utils.xmlsorter
com.progress.sonic.utilities.esb.admin
com.progress.sonic.utilities.mfutils
com.sonicsw.deploy
com.sonicsw.deploy.action
com.sonicsw.deploy.artifact
com.sonicsw.deploy.storage
com.sonicsw.deploy.tools.common
com.sonicsw.esb.mgmtapi.config
com.sonicsw.xqimpl
java.io
java.lang
java.net
java.util
java.util.jar
javax.xml.xpath
no.geosoft.cc.util
org.apache.maven.artifact
org.apache.maven.artifact.handler
org.apache.maven.execution
org.apache.maven.model
org.apache.maven.plugin
org.apache.maven.plugin.logging
org.apache.maven.project
org.codehaus.plexus.archiver
org.codehaus.plexus.archiver.manager
org.codehaus.plexus.archiver.zip
org.codehaus.plexus.util
org.codehaus.plexus.util.xml
org.codehaus.plexus.util.xml.pull
org.twdata.maven.mojoexecutor

com.aurea.maven.plugins.sonic.esb.ai

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.aurea.maven.plugins.sonic.esb.ai.ServiceGroupGeneratorMojo
None com.aurea.maven.plugins.sonic.esb
com.aurea.maven.plugins.util
java.io
java.lang
java.util
org.apache.maven.plugin
org.apache.maven.plugin.logging

com.aurea.maven.plugins.sonic.sdm

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 27 8.0% 100.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.sdm.AbstractSdmMojo
com.aurea.maven.plugins.sonic.sdm.MavenSdmDeployMojo
com.aurea.maven.plugins.sonic.sdm.QueueMapping
com.aurea.maven.plugins.sonic.sdm.QueueMappings
com.aurea.maven.plugins.sonic.sdm.SdmGenerateModelMojo
com.aurea.maven.plugins.sonic.sdm.SdmGenerateModelMojo$1
com.aurea.maven.plugins.sonic.sdm.SdmGenerateModelMojo$2
com.aurea.maven.plugins.sonic.sdm.SdmGenerateModelMojo$3
com.aurea.maven.plugins.sonic.sdm.SdmGenerateModelMojo$4
com.aurea.maven.plugins.sonic.sdm.SdmGenerateModelMojo$5
com.aurea.maven.plugins.sonic.sdm.SdmPackageMojo
com.aurea.maven.plugins.sonic.sdm.SdmValidatePropertiesMojo
com.aurea.maven.plugins.sonic.sdm.VelocityGeneratorMojo
None com.aurea.maven.plugins.sonic
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdm.container.impl
com.aurea.maven.plugins.sonic.sdm.util
com.aurea.maven.plugins.sonic.topology.utils
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.util
commonj.sdo
java.io
java.lang
java.util
java.util.regex
javax.xml.transform.stream
javax.xml.validation
no.geosoft.cc.util
org.apache.maven.artifact
org.apache.maven.execution
org.apache.maven.plugin
org.apache.maven.plugin.logging
org.apache.maven.project
org.codehaus.plexus.archiver
org.codehaus.plexus.archiver.manager
org.codehaus.plexus.util
org.codehaus.plexus.util.xml
org.codehaus.plexus.util.xml.pull
org.twdata.maven.mojoexecutor
org.xml.sax

com.aurea.maven.plugins.sonic.sdm.container

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 4 100.0% 57.0% 57.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.sdm.container.IContainerMap
com.aurea.maven.plugins.sonic.sdm.container.IContainerSetting
com.aurea.maven.plugins.sonic.sdm.container.IESBContainer
com.aurea.maven.plugins.sonic.sdm.container.IIncludePattern
com.aurea.maven.plugins.sonic.sdm.container.IMFContainer
com.aurea.maven.plugins.sonic.sdm.container.IServiceType
None com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.sdm.container.impl
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdo
java.lang
java.util
org.codehaus.plexus.util.xml

com.aurea.maven.plugins.sonic.sdm.container.impl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 9 0.0% 75.0% 25.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.aurea.maven.plugins.sonic.sdm.container.impl.DefaultContainerMap
com.aurea.maven.plugins.sonic.sdm.container.impl.DefaultContainerSetting
com.aurea.maven.plugins.sonic.sdm.container.impl.DefaultESBContainer
com.aurea.maven.plugins.sonic.sdm.container.impl.DefaultIncludePattern
com.aurea.maven.plugins.sonic.sdm.container.impl.DefaultMFContainer
com.aurea.maven.plugins.sonic.sdm.container.impl.DefaultServiceType
com.aurea.maven.plugins.sonic.esb
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
commonj.sdo
java.io
java.lang
java.math
java.util
org.codehaus.plexus.util
org.codehaus.plexus.util.xml

com.aurea.maven.plugins.sonic.sdm.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 12 25.0% 92.0% 17.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.sdm.util.AbstractModelContribution
com.aurea.maven.plugins.sonic.sdm.util.ESBModelContribution
com.aurea.maven.plugins.sonic.sdm.util.ESBDeploymentModel
com.aurea.maven.plugins.sonic.sdm.util.ESBDeploymentModelBuilder
com.aurea.maven.plugins.sonic.sdm.util.ESBProcessesContribution
com.aurea.maven.plugins.sonic.sdm.util.ESBServiceTypesContribution
com.aurea.maven.plugins.sonic.sdm.util.ESBServicesContribution
com.aurea.maven.plugins.sonic.sdm.util.XarFileContribution
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.util
com.progress.sonic.utilities.esb.admin
com.sonicsw.deploy
com.sonicsw.deploy.artifact
com.sonicsw.sonicxq
java.io
java.lang
java.util
org.apache.maven.model
org.apache.maven.plugin.logging
org.apache.maven.project

com.aurea.maven.plugins.sonic.sdo

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 7 100.0% 78.0% 78.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.sdo.AbstractDataObjectInstance
com.aurea.maven.plugins.sonic.sdo.IDataObjectInstance
None com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdm.container.impl
com.aurea.maven.plugins.sonic.utils
commonj.sdo
commonj.sdo.helper
java.io
java.lang
java.util
org.apache.tuscany.sdo.util

com.aurea.maven.plugins.sonic.topology

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 33.0% 100.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.aurea.maven.plugins.sonic.topology.AbstractTopoMojo
com.aurea.maven.plugins.sonic.topology.TopoGenerateTopologyHolderMojo
com.aurea.maven.plugins.sonic.topology.TopoPackageMojo
None com.aurea.maven.plugins.sonic
com.aurea.maven.plugins.sonic.topology.utils
java.io
java.lang
no.geosoft.cc.util
org.apache.maven.artifact
org.apache.maven.plugin
org.apache.maven.plugin.logging
org.apache.maven.project
org.codehaus.plexus.archiver
org.codehaus.plexus.archiver.manager

com.aurea.maven.plugins.sonic.topology.utils

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 4 0.0% 67.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.aurea.maven.plugins.sonic.topology.utils.Environment
com.aurea.maven.plugins.sonic.topology.utils.MachineConfig
com.aurea.maven.plugins.sonic.topology.utils.MachineHolder
com.aurea.maven.plugins.sonic.topology.utils.ParameterDef
com.aurea.maven.plugins.sonic.topology.utils.ParameterHandlingException
com.aurea.maven.plugins.sonic.topology.utils.ParameterHolder
com.aurea.maven.plugins.sonic.topology.utils.TopologyHolder
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.topology
java.io
java.lang
java.util
org.codehaus.plexus.util.xml

com.aurea.maven.plugins.sonic.utils

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 33 0.0% 87.0% 13.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.aurea.maven.plugins.sonic.utils.CreateESBContainer
com.aurea.maven.plugins.sonic.utils.DebugHelper
com.aurea.maven.plugins.sonic.utils.DependencyAnalyzer
com.aurea.maven.plugins.sonic.utils.FileUtilities
com.aurea.maven.plugins.sonic.utils.JavaInvoker
com.aurea.maven.plugins.sonic.utils.OffLineDSConfigurator
com.aurea.maven.plugins.sonic.utils.ProcessDependencyFinder
com.aurea.maven.plugins.sonic.utils.ProjectAnalyzer
com.aurea.maven.plugins.sonic.utils.RegexUtil
com.aurea.maven.plugins.sonic.utils.SnippetsProcessor
com.aurea.maven.plugins.sonic.utils.SonicInvoker
com.aurea.maven.plugins.sonic.utils.Xpp3Utils
com.aurea.maven.plugins.sonic.utils.ZipUtilities
com.aurea.maven.plugins.sonic
com.aurea.maven.plugins.sonic.esb
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.sdm.util
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdm.container.impl
com.progress.sonic.utilities.esb.admin
com.progress.sonic.utilities.mfutils
com.sonicsw.deploy
com.sonicsw.deploy.artifact
com.sonicsw.deploy.tools.common
com.sonicsw.deploy.traversal
com.sonicsw.esb.mgmtapi
com.sonicsw.esb.mgmtapi.config
com.sonicsw.ma.mgmtapi.config
com.sonicsw.mf.jmx.client
com.sonicsw.mf.mgmtapi.config
com.sonicsw.mf.mgmtapi.runtime
com.sonicsw.mq.mgmtapi.config
com.sonicsw.mq.mgmtapi.runtime
com.sonicsw.mx.config
com.sonicsw.xqimpl.mgmtapi.config
commonj.sdo
java.io
java.lang
java.net
java.util
java.util.regex
java.util.zip
javax.management
javax.xml.namespace
javax.xml.parsers
javax.xml.xpath
org.codehaus.plexus.util
org.codehaus.plexus.util.xml
org.codehaus.plexus.util.xml.pull
org.w3c.dom

com.aurea.maven.plugins.sonic.utils.xmlsorter

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 com.aurea.maven.plugins.sonic.utils.xmlsorter.AttributeNameComparator
com.aurea.maven.plugins.sonic.utils.xmlsorter.DefaultNodeNameComparator
com.aurea.maven.plugins.sonic.utils.xmlsorter.XMLSort
com.aurea.maven.plugins.sonic.esb
java.io
java.lang
java.util
org.codehaus.plexus.util.xml
org.codehaus.plexus.util.xml.pull
org.w3c.dom

com.aurea.maven.plugins.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 17 0.0% 85.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.aurea.maven.plugins.util.ArtifactHandlerExtension
com.aurea.maven.plugins.util.EsbstypeArtifactHandler
com.aurea.maven.plugins.util.InjectArtifactHandlerMojo
com.aurea.maven.plugins.util.JAXBHelper
com.aurea.maven.plugins.util.VelocityRunner
com.aurea.maven.plugins.sonic.esb.ai
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.sdm.util
java.io
java.lang
java.util
javax.xml.bind
javax.xml.bind.annotation
org.apache.maven
org.apache.maven.artifact
org.apache.maven.artifact.handler
org.apache.maven.artifact.handler.manager
org.apache.maven.execution
org.apache.maven.model
org.apache.maven.plugin
org.apache.maven.plugin.logging
org.apache.maven.project
org.apache.velocity
org.apache.velocity.app
org.codehaus.plexus.logging

no.geosoft.cc.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 3 0.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None no.geosoft.cc.util.SmartTokenizer
com.aurea.maven.plugins.sonic.esb
com.aurea.maven.plugins.sonic.sdm
com.aurea.maven.plugins.sonic.topology
java.io
java.lang
java.util

Cycles

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

Package Package Dependencies
com.aurea.maven.plugins.sonic com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.esb com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.esb.ai com.aurea.maven.plugins.sonic.esb
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdm.container com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdm.container.impl com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.sdm.util com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdo com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.topology com.aurea.maven.plugins.sonic
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils
com.aurea.maven.plugins.sonic.utils com.aurea.maven.plugins.sonic.sdm.container
com.aurea.maven.plugins.sonic.sdo
com.aurea.maven.plugins.sonic.utils

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.