Fork me on GitHub

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.juddi.v3.annotations 3 1 2 2 9 67.0% 82.0% 48.0% 1
org.apache.juddi.v3.client 8 6 2 9 10 25.0% 52.999996% 22.0% 1
org.apache.juddi.v3.client.compare 2 2 0 0 4 0.0% 100.0% 0.0% 1
org.apache.juddi.v3.client.config 14 14 0 8 30 0.0% 79.0% 21.0% 1
org.apache.juddi.v3.client.cryptor 11 8 3 4 30 27.000002% 88.0% 16.0% 1
org.apache.juddi.v3.client.embed 2 1 1 1 4 50.0% 80.0% 30.000002% 1
org.apache.juddi.v3.client.ext.wsdm 1 0 1 0 2 100.0% 100.0% 100.0% 1
org.apache.juddi.v3.client.i18n 1 1 0 0 3 0.0% 100.0% 0.0% 1
org.apache.juddi.v3.client.mapping 22 18 4 4 34 18.0% 89.0% 8.0% 1
org.apache.juddi.v3.client.mapping.wadl 19 18 1 0 21 5.0% 100.0% 5.0% 1
org.apache.juddi.v3.client.mapping.wsdl 4 4 0 2 32 0.0% 94.0% 6.0% 1
org.apache.juddi.v3.client.subscription 8 7 1 1 14 12.0% 93.0% 6.0% 1
org.apache.juddi.v3.client.transport 6 5 1 5 14 17.0% 74.0% 10.0% 1
org.apache.juddi.v3.client.transport.wrapper 8 8 0 1 23 0.0% 96.0% 4.0% 1

Packages

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

org.apache.juddi.v3.annotations

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 9 67.0% 82.0% 48.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.annotations.UDDIService
org.apache.juddi.v3.annotations.UDDIServiceBinding
org.apache.juddi.v3.annotations.AnnotationProcessor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping.wsdl
java.lang
java.lang.annotation
java.util
javax.jws
org.apache.commons.logging
org.apache.juddi.api_v3
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.uddi.api_v3

org.apache.juddi.v3.client

Afferent Couplings Efferent Couplings Abstractness Instability Distance
9 10 25.0% 52.999996% 22.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.UDDIConstants
org.apache.juddi.v3.client.UDDIConstantsV2
org.apache.juddi.v3.client.ClassUtil
org.apache.juddi.v3.client.JUDDIApiService
org.apache.juddi.v3.client.Release
org.apache.juddi.v3.client.UDDIService
org.apache.juddi.v3.client.UDDIServiceV2
org.apache.juddi.v3.client.UDDIv2Constants
org.apache.juddi.v3.annotations
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.embed
org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.mapping.wadl
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.transport
org.apache.juddi.v3.client.transport.wrapper
java.io
java.lang
java.net
java.util
java.util.jar
javax.xml.namespace
javax.xml.ws
org.apache.juddi.v3_service
org.uddi.v2_service
org.uddi.v3_service

org.apache.juddi.v3.client.compare

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.juddi.v3.client.compare.TModelInstanceDetailsComparator
org.apache.juddi.v3.client.compare.TModelInstanceInfoContains
None java.lang
java.util
javax.xml.datatype
org.uddi.api_v3

org.apache.juddi.v3.client.config

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 30 0.0% 79.0% 21.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.juddi.v3.client.config.BackGroundRegistration
org.apache.juddi.v3.client.config.ClientConfig
org.apache.juddi.v3.client.config.Constants
org.apache.juddi.v3.client.config.Property
org.apache.juddi.v3.client.config.TokenResolver
org.apache.juddi.v3.client.config.UDDIClerk
org.apache.juddi.v3.client.config.UDDIClerk$WSDL
org.apache.juddi.v3.client.config.UDDIClerkServlet
org.apache.juddi.v3.client.config.UDDIClient
org.apache.juddi.v3.client.config.UDDIClientContainer
org.apache.juddi.v3.client.config.UDDIKeyConvention
org.apache.juddi.v3.client.config.UDDINode
org.apache.juddi.v3.client.config.WebHelper
org.apache.juddi.v3.client.config.XRegistration
org.apache.juddi.v3.annotations
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.mapping.wadl
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.subscription
org.apache.juddi.v3.client.transport
org.apache.juddi.v3.client.transport.wrapper
java.io
java.lang
java.lang.reflect
java.net
java.rmi
java.util
java.util.regex
javax.servlet
javax.servlet.http
javax.wsdl
javax.xml.crypto.dsig
javax.xml.namespace
javax.xml.ws
javax.xml.ws.soap
org.apache.commons.configuration
org.apache.commons.configuration.reloading
org.apache.commons.logging
org.apache.juddi.api_v3
org.apache.juddi.v3.annotations
org.apache.juddi.v3.client
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.embed
org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.subscription
org.apache.juddi.v3.client.transport
org.apache.juddi.v3_service
org.uddi.api_v3
org.uddi.sub_v3
org.uddi.v3_service

org.apache.juddi.v3.client.cryptor

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 30 27.000002% 88.0% 16.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.cryptor.AESCryptorAbstract
org.apache.juddi.v3.client.cryptor.Cryptor
org.apache.juddi.v3.client.cryptor.CryptorFactory
org.apache.juddi.v3.client.cryptor.AES128Cryptor
org.apache.juddi.v3.client.cryptor.AES256Cryptor
org.apache.juddi.v3.client.cryptor.CryptorUtil
org.apache.juddi.v3.client.cryptor.DefaultCryptor
org.apache.juddi.v3.client.cryptor.DigSigUtil
org.apache.juddi.v3.client.cryptor.TransportSecurityHelper
org.apache.juddi.v3.client.cryptor.TripleDESCrytor
org.apache.juddi.v3.client.cryptor.XmlUtils
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping.wadl
org.apache.juddi.v3.client.subscription
org.apache.juddi.v3.client.transport
java.io
java.lang
java.math
java.net
java.security
java.security.cert
java.security.spec
java.util
java.util.concurrent.atomic
javax.crypto
javax.crypto.spec
javax.net.ssl
javax.security.auth.x500
javax.xml.bind
javax.xml.crypto.dsig
javax.xml.crypto.dsig.dom
javax.xml.crypto.dsig.keyinfo
javax.xml.crypto.dsig.spec
javax.xml.parsers
javax.xml.transform.dom
javax.xml.transform.sax
javax.xml.ws
org.apache.commons.codec.binary
org.apache.commons.logging
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.w3c.dom
org.xml.sax
sun.security.provider.certpath
sun.security.x509

org.apache.juddi.v3.client.embed

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 4 50.0% 80.0% 30.000002%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.embed.EmbeddedRegistry
org.apache.juddi.v3.client.embed.JUDDIRegistry
org.apache.juddi.v3.client.config
java.lang
java.lang.reflect
org.apache.commons.logging
org.apache.juddi.v3.client

org.apache.juddi.v3.client.ext.wsdm

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.ext.wsdm.WSDMQosConstants
None None java.lang
java.util

org.apache.juddi.v3.client.i18n

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.juddi.v3.client.i18n.EntityForLang
None java.lang
java.util
org.uddi.api_v3

org.apache.juddi.v3.client.mapping

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 34 18.0% 89.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.mapping.Common2UDDI
org.apache.juddi.v3.client.mapping.SelectionPolicy
org.apache.juddi.v3.client.mapping.UDDIServiceCacheMBean
org.apache.juddi.v3.client.mapping.URLLocalizer
org.apache.juddi.v3.client.mapping.AsyncRegistration
org.apache.juddi.v3.client.mapping.MapUDDIv2Tov3
org.apache.juddi.v3.client.mapping.MapUDDIv2Tov3$1
org.apache.juddi.v3.client.mapping.MapUDDIv3Tov2
org.apache.juddi.v3.client.mapping.MapUDDIv3Tov2$1
org.apache.juddi.v3.client.mapping.MockSSLSocketFactory
org.apache.juddi.v3.client.mapping.MockSSLSocketFactory$1
org.apache.juddi.v3.client.mapping.MockSSLSocketFactory$2
org.apache.juddi.v3.client.mapping.PolicyLocalFirst
org.apache.juddi.v3.client.mapping.PolicyRoundRobin
org.apache.juddi.v3.client.mapping.RegistrationInfo
org.apache.juddi.v3.client.mapping.RegistrationType
org.apache.juddi.v3.client.mapping.ServiceLocator
org.apache.juddi.v3.client.mapping.ServiceRegistrationResponse
org.apache.juddi.v3.client.mapping.Topology
org.apache.juddi.v3.client.mapping.UDDIClientSubscriptionListenerImpl
org.apache.juddi.v3.client.mapping.UDDIServiceCache
org.apache.juddi.v3.client.mapping.URLLocalizerDefaultImpl
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping.wadl
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.transport.wrapper
java.io
java.lang
java.lang.management
java.lang.reflect
java.net
java.rmi
java.security
java.security.cert
java.util
java.util.concurrent
javax.management
javax.net.ssl
javax.wsdl
javax.xml.bind
javax.xml.datatype
javax.xml.namespace
javax.xml.soap
javax.xml.ws
javax.xml.ws.soap
org.apache.commons.configuration
org.apache.commons.lang
org.apache.commons.logging
org.apache.http.conn.ssl
org.apache.juddi.api_v3
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.transport
org.uddi.api_v2
org.uddi.api_v3
org.uddi.sub_v3
org.uddi.subr_v3
org.uddi.v2_service
org.uddi.v3_service

org.apache.juddi.v3.client.mapping.wadl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 21 5.0% 100.0% 5.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.mapping.wadl.package-info
org.apache.juddi.v3.client.mapping.wadl.Application
org.apache.juddi.v3.client.mapping.wadl.Doc
org.apache.juddi.v3.client.mapping.wadl.Grammars
org.apache.juddi.v3.client.mapping.wadl.HTTPMethods
org.apache.juddi.v3.client.mapping.wadl.Include
org.apache.juddi.v3.client.mapping.wadl.Link
org.apache.juddi.v3.client.mapping.wadl.Method
org.apache.juddi.v3.client.mapping.wadl.ObjectFactory
org.apache.juddi.v3.client.mapping.wadl.Option
org.apache.juddi.v3.client.mapping.wadl.Param
org.apache.juddi.v3.client.mapping.wadl.ParamStyle
org.apache.juddi.v3.client.mapping.wadl.Representation
org.apache.juddi.v3.client.mapping.wadl.Request
org.apache.juddi.v3.client.mapping.wadl.Resource
org.apache.juddi.v3.client.mapping.wadl.ResourceType
org.apache.juddi.v3.client.mapping.wadl.Resources
org.apache.juddi.v3.client.mapping.wadl.Response
org.apache.juddi.v3.client.mapping.wadl.WADL2UDDI
None java.io
java.lang
java.net
java.util
javax.xml.bind
javax.xml.namespace
org.apache.commons.configuration
org.apache.commons.logging
org.apache.http.auth
org.apache.http.client
org.apache.http.client.methods
org.apache.http.conn
org.apache.http.conn.scheme
org.apache.http.impl.client
org.apache.http.impl.conn
org.apache.juddi.api_v3
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.mapping
org.uddi.api_v3

org.apache.juddi.v3.client.mapping.wsdl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 32 0.0% 94.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.juddi.v3.client.mapping.wsdl.BPEL2UDDI
org.apache.juddi.v3.client.mapping.wsdl.ReadWSDL
org.apache.juddi.v3.client.mapping.wsdl.WSDL2UDDI
org.apache.juddi.v3.client.mapping.wsdl.WSDLLocatorImpl
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping
com.ibm.wsdl.factory
java.io
java.lang
java.net
java.rmi
java.util
javax.wsdl
javax.wsdl.extensions.http
javax.wsdl.extensions.soap
javax.wsdl.extensions.soap12
javax.wsdl.factory
javax.wsdl.xml
javax.xml.namespace
org.apache.commons.configuration
org.apache.commons.logging
org.apache.http.auth
org.apache.http.client
org.apache.http.client.methods
org.apache.http.conn
org.apache.http.conn.scheme
org.apache.http.impl.client
org.apache.http.impl.conn
org.apache.juddi.api_v3
org.apache.juddi.jaxb
org.apache.juddi.v3.annotations
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.transport
org.uddi.api_v3
org.w3c.dom
org.xml.sax

org.apache.juddi.v3.client.subscription

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 14 12.0% 93.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.subscription.ISubscriptionCallback
org.apache.juddi.v3.client.subscription.RegistrationAbortedException
org.apache.juddi.v3.client.subscription.ServiceAlreadyStartedException
org.apache.juddi.v3.client.subscription.SubscriptionCallbackListener
org.apache.juddi.v3.client.subscription.SubscriptionCallbackListener$1
org.apache.juddi.v3.client.subscription.SubscriptionCallbackListener$SignatureBehavior
org.apache.juddi.v3.client.subscription.UnableToSignException
org.apache.juddi.v3.client.subscription.UnexpectedResponseException
org.apache.juddi.v3.client.config
java.lang
java.net
java.rmi
java.util
javax.xml.ws
org.apache.commons.configuration
org.apache.commons.logging
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.transport
org.uddi.api_v3
org.uddi.sub_v3
org.uddi.subr_v3
org.uddi.v3_service

org.apache.juddi.v3.client.transport

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 14 17.0% 74.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.juddi.v3.client.transport.Transport
org.apache.juddi.v3.client.transport.InVMTransport
org.apache.juddi.v3.client.transport.JAXWSTransport
org.apache.juddi.v3.client.transport.JAXWSv2TranslationTransport
org.apache.juddi.v3.client.transport.RMITransport
org.apache.juddi.v3.client.transport.TransportException
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.subscription
org.apache.juddi.v3.client.transport.wrapper
java.lang
java.net
java.util
javax.naming
javax.xml.ws
org.apache.commons.configuration
org.apache.commons.logging
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.transport.wrapper
org.apache.juddi.v3_service
org.uddi.v2_service
org.uddi.v3_service

org.apache.juddi.v3.client.transport.wrapper

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 23 0.0% 96.0% 4.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.juddi.v3.client.transport.wrapper.Handler
org.apache.juddi.v3.client.transport.wrapper.Inquiry3to2
org.apache.juddi.v3.client.transport.wrapper.Publish3to2
org.apache.juddi.v3.client.transport.wrapper.RequestHandler
org.apache.juddi.v3.client.transport.wrapper.Security3to2
org.apache.juddi.v3.client.transport.wrapper.UDDIInquiryService
org.apache.juddi.v3.client.transport.wrapper.UDDIPublicationService
org.apache.juddi.v3.client.transport.wrapper.UDDISecurityService
org.apache.juddi.v3.client.transport
java.io
java.lang
java.lang.reflect
java.rmi
java.util
javax.xml
javax.xml.parsers
javax.xml.transform
javax.xml.transform.dom
javax.xml.transform.stream
javax.xml.ws
javax.xml.ws.soap
org.apache.commons.logging
org.apache.juddi.jaxb
org.apache.juddi.v3.client
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.transport
org.uddi.api_v2
org.uddi.api_v3
org.uddi.v2_service
org.uddi.v3_service
org.w3c.dom

Cycles

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

Package Package Dependencies
org.apache.juddi.v3.annotations org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.config org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.mapping org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.transport
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.mapping.wadl org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.mapping.wsdl org.apache.juddi.v3.client.transport
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.subscription org.apache.juddi.v3.client.transport
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.transport org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.transport.wrapper org.apache.juddi.v3.client.mapping
org.apache.juddi.v3.client.mapping.wsdl
org.apache.juddi.v3.client.transport
org.apache.juddi.v3.client.config
org.apache.juddi.v3.client.cryptor
org.apache.juddi.v3.client.config

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.