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.gridsystems.innergrid.api 34 28 6 1 36 18.0% 97.0% 15.000001% 1
com.gridsystems.innergrid.kernel 4 3 1 1 16 25.0% 94.0% 19.0% 1
com.gridsystems.innergrid.serializers 8 8 0 0 12 0.0% 100.0% 0.0% 1

Packages

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

com.gridsystems.innergrid.api

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 36 18.0% 97.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.api.AbstractConnection
com.gridsystems.innergrid.api.AbstractImplBase
com.gridsystems.innergrid.api.ClientApiFactory
com.gridsystems.innergrid.api.Connection
com.gridsystems.innergrid.api.Credentials
com.gridsystems.innergrid.api.SSLConnectionInfo
com.gridsystems.innergrid.api.AcceptAllCertificates
com.gridsystems.innergrid.api.AcceptAllCertificates$AcceptAllTrustManager
com.gridsystems.innergrid.api.AcceptCertificate
com.gridsystems.innergrid.api.AcceptCertificate$CertificateTrustManager
com.gridsystems.innergrid.api.AcceptCertificateOfKeyStore
com.gridsystems.innergrid.api.AcceptCertificateOfSystemKeyStore
com.gridsystems.innergrid.api.ApiFactory
com.gridsystems.innergrid.api.ApiFactory$Api
com.gridsystems.innergrid.api.ApiFactory$ClassComparator
com.gridsystems.innergrid.api.AxisClientThread
com.gridsystems.innergrid.api.CKernelException
com.gridsystems.innergrid.api.ClientApiFactory$ApiEntry
com.gridsystems.innergrid.api.ClientApiFactory$FuraService
com.gridsystems.innergrid.api.ClientApiProxy
com.gridsystems.innergrid.api.CloneUtils
com.gridsystems.innergrid.api.DirectConnection
com.gridsystems.innergrid.api.IOUtils
com.gridsystems.innergrid.api.InnergridJSSESocketFactory
com.gridsystems.innergrid.api.InterruptibleHttpSender
com.gridsystems.innergrid.api.NoLingerSocketFactory
com.gridsystems.innergrid.api.PWCallback
com.gridsystems.innergrid.api.StringDataSource
com.gridsystems.innergrid.api.UsernameTokenCredentials
com.gridsystems.innergrid.api.WSOutboundHandler
com.gridsystems.innergrid.api.WrapperConnection
com.gridsystems.innergrid.api.WrapperConnection$1
com.gridsystems.innergrid.api.WrapperConnection$NullCredentials
com.gridsystems.innergrid.api.X509CertificateCredentials
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel
com.gridsystems.utils
java.io
java.lang
java.lang.reflect
java.net
java.rmi
java.security
java.security.cert
java.util
java.util.concurrent
java.util.regex
javax.activation
javax.net.ssl
javax.security.auth.callback
javax.xml.namespace
javax.xml.rpc
javax.xml.rpc.encoding
org.apache.axis
org.apache.axis.attachments
org.apache.axis.client
org.apache.axis.components.net
org.apache.axis.configuration
org.apache.axis.deployment.wsdd
org.apache.axis.encoding
org.apache.axis.encoding.ser
org.apache.axis.handlers.soap
org.apache.axis.transport.http
org.apache.axis.utils
org.apache.commons.discovery
org.apache.commons.discovery.resource
org.apache.commons.discovery.resource.names
org.apache.commons.io
org.apache.commons.logging
org.apache.ws.axis.security
org.apache.ws.security

com.gridsystems.innergrid.kernel

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 16 25.0% 94.0% 19.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.Kernelizable
com.gridsystems.innergrid.kernel.KernelException
com.gridsystems.innergrid.kernel.KernelUtils
com.gridsystems.innergrid.kernel.UUIDUtils
com.gridsystems.innergrid.api
com.gridsystems.innergrid.api
java.io
java.lang
java.lang.reflect
java.net
java.rmi
java.text
java.util
java.util.regex
javax.xml.namespace
org.apache.axis
org.apache.axis.encoding
org.apache.axis.utils
org.apache.commons.logging
org.safehaus.uuid
org.w3c.dom

com.gridsystems.innergrid.serializers

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.gridsystems.innergrid.serializers.CertificateDeserializer
com.gridsystems.innergrid.serializers.CertificateDeserializerFactory
com.gridsystems.innergrid.serializers.CertificateSerializer
com.gridsystems.innergrid.serializers.CertificateSerializerFactory
com.gridsystems.innergrid.serializers.EnumDeserializer
com.gridsystems.innergrid.serializers.EnumDeserializerFactory
com.gridsystems.innergrid.serializers.EnumSerializer
com.gridsystems.innergrid.serializers.EnumSerializerFactory
None java.io
java.lang
java.security.cert
javax.xml.namespace
javax.xml.parsers
org.apache.axis
org.apache.axis.encoding
org.apache.axis.encoding.ser
org.apache.axis.utils
org.apache.axis.wsdl.fromJava
org.w3c.dom
org.xml.sax

Cycles

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

Package Package Dependencies
com.gridsystems.innergrid.api com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.api
com.gridsystems.innergrid.kernel com.gridsystems.innergrid.api
com.gridsystems.innergrid.kernel

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.