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.kernel 3 3 0 8 15 0.0% 65.0% 35.0% 1
com.gridsystems.innergrid.kernel.api 8 5 3 6 14 38.0% 70.0% 8.0% 1
com.gridsystems.innergrid.kernel.crypto 1 1 0 0 8 0.0% 100.0% 0.0% 1
com.gridsystems.innergrid.kernel.event 4 2 2 5 5 50.0% 50.0% 0.0% 1
com.gridsystems.innergrid.kernel.examples.dummy 5 4 1 1 11 20.0% 92.0% 12.0% 1
com.gridsystems.innergrid.kernel.plugin 13 10 3 5 16 23.0% 76.0% 1.0% 1
com.gridsystems.innergrid.kernel.server 22 20 2 10 44 9.0% 81.0% 9.0% 1
com.gridsystems.innergrid.kernel.server.providers 2 2 0 0 4 0.0% 100.0% 0.0% 1
com.gridsystems.innergrid.kernel.services 14 12 2 5 18 14.0% 78.0% 7.0% 1
com.gridsystems.innergrid.kernel.simplemonitor 3 2 1 1 8 33.0% 89.0% 22.0% 1
com.gridsystems.innergrid.kernel.startup 7 7 0 2 22 0.0% 92.0% 8.0% 1
com.gridsystems.innergrid.kernel.tools 1 1 0 1 6 0.0% 86.0% 14.0% 1
com.gridsystems.jmx 4 1 3 1 3 75.0% 75.0% 50.0% 1

Packages

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

com.gridsystems.innergrid.kernel

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 15 0.0% 65.0% 35.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.gridsystems.innergrid.kernel.IKernelException
com.gridsystems.innergrid.kernel.Kernel
com.gridsystems.innergrid.kernel.Messages
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.examples.dummy
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.simplemonitor
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.startup
java.io
java.lang
java.net
java.text
java.util
javax.servlet
javax.swing.event
javax.xml.namespace
org.apache.log4j

com.gridsystems.innergrid.kernel.api

Afferent Couplings Efferent Couplings Abstractness Instability Distance
6 14 38.0% 70.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.api.AAService
com.gridsystems.innergrid.kernel.api.ApiRegistry
com.gridsystems.innergrid.kernel.api.PrivilegedAction
com.gridsystems.innergrid.kernel.api.ApiReflector
com.gridsystems.innergrid.kernel.api.AuthACL
com.gridsystems.innergrid.kernel.api.AuthACLEntry
com.gridsystems.innergrid.kernel.api.NullApiRegistry
com.gridsystems.innergrid.kernel.api.WindowsFirewallManager
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.examples.dummy
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.simplemonitor
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
com.gridsystems.utils.windows
java.io
java.lang
java.lang.reflect
java.net
java.rmi
java.util
javax.security.auth.callback
javax.xml.rpc.encoding
org.apache.commons.logging
org.apache.log4j

com.gridsystems.innergrid.kernel.crypto

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.gridsystems.innergrid.kernel.crypto.CryptoService
None com.gridsystems.innergrid.kernel.server
com.gridsystems.utils
java.io
java.lang
java.security
javax.crypto
org.apache.axis.encoding
org.apache.log4j

com.gridsystems.innergrid.kernel.event

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 5 50.0% 50.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.event.Event
com.gridsystems.innergrid.kernel.event.KernelListener
com.gridsystems.innergrid.kernel.event.EventManager
com.gridsystems.innergrid.kernel.event.KernelEvent
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.examples.dummy
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
java.lang
java.util
javax.servlet

com.gridsystems.innergrid.kernel.examples.dummy

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 11 20.0% 92.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.examples.dummy.DummyApi
com.gridsystems.innergrid.kernel.examples.dummy.DummyAAService
com.gridsystems.innergrid.kernel.examples.dummy.DummyApiImpl
com.gridsystems.innergrid.kernel.examples.dummy.DummyBean
com.gridsystems.innergrid.kernel.examples.dummy.DummyPlugin
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server
java.lang
java.rmi
java.util
javax.security.auth.callback
org.apache.log4j
org.apache.ws.security

com.gridsystems.innergrid.kernel.plugin

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 16 23.0% 76.0% 1.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.plugin.AbstractPluginFactory
com.gridsystems.innergrid.kernel.plugin.Plugin
com.gridsystems.innergrid.kernel.plugin.PluginFactory
com.gridsystems.innergrid.kernel.plugin.DynamicPluginFactory
com.gridsystems.innergrid.kernel.plugin.PluginAdapter
com.gridsystems.innergrid.kernel.plugin.PluginAdapter$1
com.gridsystems.innergrid.kernel.plugin.PluginAdapter$DescriptorHandler
com.gridsystems.innergrid.kernel.plugin.PluginCreationException
com.gridsystems.innergrid.kernel.plugin.PluginManager
com.gridsystems.innergrid.kernel.plugin.PluginManager$KernelPluginAdapter
com.gridsystems.innergrid.kernel.plugin.PluginMap
com.gridsystems.innergrid.kernel.plugin.PluginVersion
com.gridsystems.innergrid.kernel.plugin.StaticPluginFactory
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.examples.dummy
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.api
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
java.io
java.lang
java.lang.reflect
java.net
java.util
java.util.jar
javax.activation
javax.xml.parsers
org.apache.log4j
org.xml.sax
org.xml.sax.helpers

com.gridsystems.innergrid.kernel.server

Afferent Couplings Efferent Couplings Abstractness Instability Distance
10 44 9.0% 81.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.server.KernelConfigMXBean
com.gridsystems.innergrid.kernel.server.RequestFilter
com.gridsystems.innergrid.kernel.server.ApiConfiguration
com.gridsystems.innergrid.kernel.server.ApiConfigurationFactory
com.gridsystems.innergrid.kernel.server.ApiMsgProvider
com.gridsystems.innergrid.kernel.server.ApiRpcProvider
com.gridsystems.innergrid.kernel.server.ApiServerFactory
com.gridsystems.innergrid.kernel.server.AttachmentsChecker
com.gridsystems.innergrid.kernel.server.AuthorizationFilter
com.gridsystems.innergrid.kernel.server.AxisRouterServlet
com.gridsystems.innergrid.kernel.server.ClientApiConfiguration
com.gridsystems.innergrid.kernel.server.KernelConfig
com.gridsystems.innergrid.kernel.server.KernelContext
com.gridsystems.innergrid.kernel.server.KernelCtxListener
com.gridsystems.innergrid.kernel.server.KernelNotifier
com.gridsystems.innergrid.kernel.server.OutOfMemoryFilter
com.gridsystems.innergrid.kernel.server.PasswordCallbackHandler
com.gridsystems.innergrid.kernel.server.ProviderUtils
com.gridsystems.innergrid.kernel.server.RequestFilterEvent
com.gridsystems.innergrid.kernel.server.ServiceProxy
com.gridsystems.innergrid.kernel.server.ServletContextWrapper
com.gridsystems.innergrid.kernel.server.WSSWrapperHandler
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.crypto
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.examples.dummy
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server.providers
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.simplemonitor
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.api
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.kernel.tools
com.gridsystems.jmx
java.io
java.lang
java.lang.reflect
java.net
java.rmi
java.security
java.util
java.util.regex
javax.activation
javax.management
javax.security.auth.callback
javax.servlet
javax.servlet.http
javax.xml.namespace
javax.xml.soap
org.apache.axis
org.apache.axis.attachments
org.apache.axis.configuration
org.apache.axis.deployment.wsdd
org.apache.axis.description
org.apache.axis.encoding
org.apache.axis.handlers
org.apache.axis.handlers.soap
org.apache.axis.message
org.apache.axis.providers.java
org.apache.axis.schema
org.apache.axis.session
org.apache.axis.transport.http
org.apache.axis.utils
org.apache.commons.logging
org.apache.log4j
org.apache.ws.axis.security
org.apache.ws.security
org.apache.ws.security.handler
org.w3c.dom
org.xml.sax

com.gridsystems.innergrid.kernel.server.providers

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 com.gridsystems.innergrid.kernel.server.providers.WsddApiMsgProvider
com.gridsystems.innergrid.kernel.server.providers.WsddApiRpcProvider
None com.gridsystems.innergrid.kernel.server
java.lang
org.apache.axis
org.apache.axis.deployment.wsdd

com.gridsystems.innergrid.kernel.services

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 18 14.0% 78.0% 7.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.services.ApiKernelManager
com.gridsystems.innergrid.kernel.services.ApiTomcatManager
com.gridsystems.innergrid.kernel.services.ApiKernelManagerImpl
com.gridsystems.innergrid.kernel.services.ApiTomcatManagerImpl
com.gridsystems.innergrid.kernel.services.ApiTomcatManagerImpl$StopTask
com.gridsystems.innergrid.kernel.services.AttachmentCleaner
com.gridsystems.innergrid.kernel.services.Connector
com.gridsystems.innergrid.kernel.services.KernelManagementService
com.gridsystems.innergrid.kernel.services.LicenseField
com.gridsystems.innergrid.kernel.services.LicenseZipManager
com.gridsystems.innergrid.kernel.services.PluginInfo
com.gridsystems.innergrid.kernel.services.ServerInformation
com.gridsystems.innergrid.kernel.services.ServerPort
com.gridsystems.innergrid.kernel.services.VersionInfo
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.startup
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.simplemonitor
com.gridsystems.utils
java.io
java.lang
java.lang.reflect
java.net
java.rmi
java.security
java.text
java.util
javax.activation
javax.servlet
org.apache.log4j

com.gridsystems.innergrid.kernel.simplemonitor

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 8 33.0% 89.0% 22.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.innergrid.kernel.simplemonitor.SimpleMonitorApi
com.gridsystems.innergrid.kernel.simplemonitor.SimpleMonitorAAService
com.gridsystems.innergrid.kernel.simplemonitor.SimpleMonitorApiImpl
com.gridsystems.innergrid.kernel.services
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.server
java.lang
java.rmi
java.util
javax.security.auth.callback
org.apache.ws.security

com.gridsystems.innergrid.kernel.startup

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 22 0.0% 92.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.gridsystems.innergrid.kernel.startup.KernelInitializer
com.gridsystems.innergrid.kernel.startup.KernelLauncher
com.gridsystems.innergrid.kernel.startup.KernelLauncher$Sleeper
com.gridsystems.innergrid.kernel.startup.KernelStartupChecker
com.gridsystems.innergrid.kernel.startup.NullServletContext
com.gridsystems.innergrid.kernel.startup.PluginLogConfigurator
com.gridsystems.innergrid.kernel.startup.PluginLogConfigurator$1
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.api
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel.examples.dummy
com.gridsystems.innergrid.kernel.plugin
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services
java.io
java.lang
java.lang.management
java.lang.reflect
java.net
java.util
javax.activation
javax.management
javax.servlet
org.apache.axis
org.apache.axis.server
org.apache.commons.discovery
org.apache.commons.discovery.tools
org.apache.log4j

com.gridsystems.innergrid.kernel.tools

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.gridsystems.innergrid.kernel.tools.DOMUtils
com.gridsystems.innergrid.kernel.server
java.io
java.lang
javax.xml.parsers
org.apache.xml.serialize
org.w3c.dom
org.xml.sax

com.gridsystems.jmx

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 3 75.0% 75.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.gridsystems.jmx.ManagedAttribute
com.gridsystems.jmx.ManagedOperation
com.gridsystems.jmx.ManagedResource
com.gridsystems.jmx.AnnotatedStandardMXBean
com.gridsystems.innergrid.kernel.server
java.lang
java.lang.annotation
javax.management

Cycles

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

Package Package Dependencies
com.gridsystems.innergrid.kernel com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.api com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.crypto com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.event com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.examples.dummy com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.plugin com.gridsystems.innergrid.kernel.event
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.server.providers com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel.services com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.simplemonitor com.gridsystems.innergrid.kernel.api
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.startup com.gridsystems.innergrid.kernel
com.gridsystems.innergrid.kernel.server
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.