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 Total

Classes
Abstract

Classes
Concrete

Classes
Afferent

Couplings
Efferent

Couplings
Abstractness Instability Distance
org.apache.avalon.excalibur.naming 11 7 4 8 6 0.64 43% 6%
org.apache.avalon.excalibur.naming.memory 3 0 3 2 5 0 71% 29%
org.apache.avalon.excalibur.naming.rmi 2 1 1 2 8 0.5 80% 30%
org.apache.avalon.excalibur.naming.rmi.server 3 0 3 2 11 0 85% 15%
org.exolab.jms 2 2 0 2 2 1 50% 50%
org.exolab.jms.administration 3 2 1 4 10 0.67 71% 38%
org.exolab.jms.administration.http 2 0 2 1 7 0 88% 12%
org.exolab.jms.administration.intravm 1 0 1 1 8 0 89% 11%
org.exolab.jms.administration.mipc 2 0 2 2 9 0 82% 18%
org.exolab.jms.administration.rmi 1 0 1 1 8 0 89% 11%
org.exolab.jms.authentication 3 0 3 3 8 0 73% 27%
org.exolab.jms.client 41 14 27 13 13 0.34 50% 16%
org.exolab.jms.client.http 5 1 4 0 12 0.2 100% 20%
org.exolab.jms.client.http.servlet 1 0 1 0 6 0 100% 0%
org.exolab.jms.client.intravm 3 0 3 0 8 0 100% 0%
org.exolab.jms.client.mipc 6 1 5 0 11 0.17 100% 17%
org.exolab.jms.client.rmi 8 2 6 1 10 0.25 91% 16%
org.exolab.jms.config 209 3 206 13 14 0.01 52% 47%
org.exolab.jms.config.types 2 0 2 7 6 0 46% 54%
org.exolab.jms.events 7 2 5 4 9 0.29 69% 2%
org.exolab.jms.gc 3 1 2 2 7 0.33 78% 11%
org.exolab.jms.jndi 4 2 2 4 8 0.5 67% 17%
org.exolab.jms.jndi.http 3 0 3 1 9 0 90% 10%
org.exolab.jms.jndi.http.servlet 1 0 1 0 6 0 100% 0%
org.exolab.jms.jndi.intravm 1 0 1 1 5 0 83% 17%
org.exolab.jms.jndi.mipc 2 0 2 1 7 0 88% 12%
org.exolab.jms.jndi.rmi 1 0 1 1 9 0 90% 10%
org.exolab.jms.jndiadministration 26 2 24 0 15 0.08 100% 8%
org.exolab.jms.lease 6 2 4 3 7 0.33 70% 3%
org.exolab.jms.message 28 5 23 10 7 0.18 41% 41%
org.exolab.jms.messagemgr 37 10 27 2 22 0.27 92% 19%
org.exolab.jms.persistence 29 3 26 7 18 0.1 72% 18%
org.exolab.jms.scheduler 1 0 1 3 7 0 70% 30%
org.exolab.jms.selector 46 10 36 2 7 0.22 78% 0%
org.exolab.jms.selector.parser 8 2 6 1 7 0.25 88% 12%
org.exolab.jms.server 17 1 16 7 29 0.06 81% 14%
org.exolab.jms.server.http 5 0 5 1 17 0 94% 6%
org.exolab.jms.server.http.servlet 1 0 1 0 7 0 100% 0%
org.exol ab.jms.server.intravm 2 0 2 1 8 0 89% 11%
org.exolab.jms.server.mipc 13 0 13 1 20 0 95% 5%
org.exolab.jms.server.rmi 16 5 11 2 18 0.31 90% 21%
org.exolab.jms.threads 3 0 3 3 4 0 57% 43%
org.exolab.jms.tools.admin 77 5 72 0 22 0.06 100% 6%
org.exolab.jms.tools.db 36 1 35 1 17 0.03 94% 3%
org.exolab.jms.tools.db.migration 2 0 2 1 6 0 86% 14%
org.exolab.jms.tranlog 9 1 8 1 5 0.11 83% 6%
org.exolab.jms.transaction 4 0 4 0 4 0 100% 0%
org.exolab.jms.util 10 1 9 9 6 0.1 40% 50%

Packages

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

org.exolab.jms

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 2 100% 50% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
Identifiable

JMSErrorCodes

org.exolab.jms.message

org.exolab.jms.messagemgr

java.io

java.lang

org.exolab.jms.client

Afferent Couplings Efferent Couplings Abstractness Instability Distance
13 13 34% 50% 16%
Abstract Classes Concrete Classes Used by Packages Uses Packages
JmsClientConstants

JmsConnection

JmsConnectionConsumer

JmsConnectionFactory

JmsConnectionStubIfc

JmsDestination

JmsErrorCodes

JmsMessageConsumer

JmsMessageListener

JmsMessageProducer

JmsServerStubIfc

JmsSession

JmsSessionStubIfc

JmsTemporaryDestination

JmsClientStubFactory

JmsConnectionFactoryBuilder

JmsConnectionMetaData

JmsDestinationFactory

JmsQueue

JmsQueueBrowser

JmsQueueConnection

JmsQueueConnectionConsumer

JmsQueueConnectionFactory

JmsQueueReceiver

JmsQueueSender

JmsQueueSession

JmsTemporaryQueue

JmsTemporaryTopic

JmsTopic

JmsTopicConnection

JmsTopicConnectionConsumer

JmsTopicConnectionFactory

JmsTopicPublisher

JmsTopicSession

JmsTopicSubscriber

JmsXAQueueConnection

JmsXAQueueConnectionFactory

JmsXAQueueSession

JmsXATopicConnection

JmsXATopicConnectionFactory

JmsXATopicSession

org.exolab.jms.client.http

org.exolab.jms.client.intravm

org.exolab.jms.client.mipc

org.exolab.jms.client.rmi

org.exolab.jms.jndiadministration

org.exolab.jms.message

org.exolab.jms.messagemgr

org.exolab.jms.persistence

org.exolab.jms.server

org.exolab.jms.server.http

org.exolab.jms.server.mipc

org.exolab.jms.server.rmi

org.exolab.jms.tools.admin

java.io

java.lang

java.lang.reflect

java.util

javax.jms

javax.naming

javax.naming.spi

javax.transaction.xa

org.apache.commons.logging

org.exolab.core.service

org.exolab.jms.eve nts

org.exolab.jms.message

org.exolab.jms.util

org.exolab.jms.client.http.servlet

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
HttpJmsClientServlet

java.io

java.lang

java.util

javax.servlet

javax.servlet.http

org.exolab.core.ipc

org.exolab.jms.config

Afferent Couplings Efferent Couplings Abstractness Instability Distance
13 14 1% 52% 47%
Abstract Classes Concrete Classes Used by Packages Uses Packages
ConnectionFactory

HttpConfigurationType

TcpConfigurationType

Admin

AdminConfiguration

AdminConfigurationDescriptor

AdminConfigurationDescriptor$1

AdminConfigurationDescriptor$2

AdminDescriptor

AdminDescriptor$1

AdminDescriptor$2

AdministeredDestinations

AdministeredDestinationsDescriptor

AdministeredDestinationsDescriptor$1

AdministeredDestinationsDescriptor$2

AdministeredQueue

AdministeredQueueDescriptor

AdministeredQueueDescriptor$1

AdministeredTopic

Adminis teredTopicDescriptor

AdministeredTopicDescriptor$1

AdministeredTopicDescriptor$2

AttributeExpander

AttributeExpander$1

AttributeExpander$AttributeInterceptor

ConfigHelper

Configuration

ConfigurationDescriptor

ConfigurationDescriptor$1

ConfigurationDescriptor$10

ConfigurationDescriptor$11

ConfigurationDescriptor$12

ConfigurationDescriptor$13

ConfigurationD escriptor$14

ConfigurationDescriptor$15

ConfigurationDescriptor$16

ConfigurationDescriptor$17

ConfigurationDescriptor$18

ConfigurationDescriptor$2

ConfigurationDescriptor$3

ConfigurationDescriptor$4

ConfigurationDescriptor$5

ConfigurationDescriptor$6

ConfigurationDescriptor$7

ConfigurationDescriptor$8

ConfigurationDescriptor$9

ConfigurationFileException

ConfigurationLoader

ConfigurationManager

ConnectionFactories

ConnectionFactoriesDescriptor

ConnectionFactoriesDescriptor$1

ConnectionFactoriesDescriptor$2

ConnectionFactoriesDescriptor$3

ConnectionFactoriesDescriptor$4

ConnectionFactoryDescriptor

ConnectionFactoryDescriptor$1

Connector

ConnectorDescriptor

ConnectorDescriptor$1

ConnectorDescriptor$2

ConnectorHelper

ConnectorResource

ConnectorResourceDescriptor

ConnectorResourceDescriptor$1

ConnectorResourceDescriptor$2

ConnectorResourceDescriptor$3

ConnectorResourceDescriptor$4

ConnectorResourceDescriptor$5

ConnectorResources

ConnectorResourcesDescriptor

ConnectorResourcesDescriptor$1

Connectors

ConnectorsDescriptor

ConnectorsDescriptor$1

DatabaseConfiguration

DatabaseConfigurationDescriptor

DatabaseConfigurationDescriptor$1

DatabaseConfigurationDescriptor$2

DatabaseConfigurationDescriptor$3

DatabaseConfigurationDescriptor$4

DatabaseConfigurationDescriptor$5

DefaultConfiguration

DefaultConfigurationDescriptor

DefaultConfigurationDescriptor$1

DefaultConfigurationDescriptor$10

DefaultConfigurationDescriptor$11

DefaultConfigurationDescriptor$12

DefaultConfigurationDescriptor$2

DefaultConfigurationDescriptor$3

DefaultConfigurationDescriptor$4

DefaultConfigurationDescriptor$5

DefaultConfigurationDescriptor$6

DefaultConfigurationDescriptor$7

DefaultConfigurationDescriptor$8

DefaultConfigurationDescriptor$9

FileDoesNotExistException

GarbageCollectionConfiguration

GarbageCollectionConfigurationDescriptor

GarbageCollectionConfigurationDescriptor$1

GarbageCollectionConfigurationDescriptor$2

GarbageCollectionConfigurationDescriptor$3

GarbageCollectionConfigurationDescriptor$4

GarbageCollectionConfigurationLowWaterThresholdType

GarbageCollectionConfigurationLowWaterThresholdTypeDescriptor

HttpConfiguration

HttpConfigurationDescriptor

HttpConfigurationTypeDescriptor

HttpConfigurationTypeDescriptor$1

HttpConfigurationTypeDescriptor$2

HttpConfigurationTypeDescriptor$3

HttpConfigurationTypeDescriptor$4

HttpConfigurationTypeDescriptor$5

HttpConfigurationTypeDescriptor$6

HttpConfigurationTypeDescriptor$7

HttpConfigurationTypeDescriptor$8

HttpsConfiguration

HttpsConfigurationDescriptor

JdbmDatabaseConfiguration

JdbmDatabaseConfigurationDescriptor

JdbmDatabaseConfigurationDescriptor$1

JdbmDatabaseConfigurationDescriptor$2

Jndi

JndiConfiguration

JndiConfigurationDescriptor

JndiConfigurationDescriptor$1

JndiConfigurationFactory

JndiDescriptor

JndiDescriptor$1

JndiDescriptor$2

LoggerConfiguration

LoggerConfigurationDescriptor

LoggerConfigurationDescriptor$1

MessageManagerConfiguration

MessageManagerConfigurationDescriptor

MessageManagerConfigurationDescriptor$1

Property

PropertyDescriptor

PropertyDescriptor$1

PropertyDescriptor$2

QueueConnectionFactory

QueueConnectionFactoryDescriptor

RdbmsDatabaseConfiguration

RdbmsDatabaseConfigurationDescriptor

RdbmsDatabaseConfigurationDescriptor$1

RdbmsDatabaseConfigurationDescriptor$10

RdbmsDatabaseConfigurationDescriptor$11

RdbmsDatabaseConfigurationDescriptor$12

RdbmsDatabaseConfigurationDescriptor$13

RdbmsDatabaseConfigurationDescriptor$2

RdbmsDatabaseConfigurationDescriptor$3

RdbmsDatabaseConfigurationDescriptor$4

RdbmsDatabaseConfigurationDescriptor$5

RdbmsDatabaseConfigurationDescriptor$6

RdbmsDatabaseConfigurationDescriptor$7

RdbmsDatabaseConfigurationDescriptor$8

RdbmsDatabaseConfigurationDescriptor$9

RmiConfiguration

RmiConfigurationDescriptor

RmiConfigurationDescriptor$1

RmiConfigurationDescriptor$2

RmiConfigurationDescriptor$3

RmiConfigurationDescriptor$4

RmiConfigurationDescriptor$5

RmiConfigurationDescriptor$6

RmiConfigurationDescriptor$7

SchedulerConfiguration

SchedulerConfigurationDescriptor

SchedulerConfigurationDescriptor$1

Seconds

SecondsDescriptor

SecurityConfiguration

SecurityConfigurationDescriptor

SecurityConfigurationDescriptor$1

Server

ServerConfiguration

ServerConfigurationDescriptor

ServerConfigurationDescriptor$1

ServerConfigurationDescriptor$2

ServerDescriptor

ServerDescriptor$1

ServerDescriptor$2

ServerDescriptor$3

Subscriber

SubscriberDescriptor

SubscriberDescriptor$1

TcpConfiguration

TcpConfigurationDescriptor

TcpConfigurationTypeDescriptor

TcpConfigurationTypeDescriptor$1

TcpConfigurationTypeDescriptor$2

TcpConfigurationTypeDescriptor$3

TcpsConfiguration

TcpsConfigurationDescriptor

ThreadPriority

ThreadPriorityDescriptor

TopicConnectionFactory

TopicConnectionFactoryDescriptor

User

UserDescriptor

UserDescriptor$1

UserDescriptor$2

Users

UsersDescriptor

UsersDescriptor$1

XAQueueConnectionFactory

XAQueueConnectionFa ctoryDescriptor

XATopicConnectionFactory

XATopicConnectionFactoryDescriptor

org.exolab.jms.authentication

org.exolab.jms.gc

org.exolab.jms.jndiadministration

org.exolab.jms.messagemgr

org.exolab.jms.persistence

org.exolab.jms.scheduler

org.exolab.jms.server

org.exolab.jms.server.http

org.exolab.jms.server.intravm

org.exolab.jms.server.mipc

org.exolab.jms.server.rmi

org.exolab.jms.tools.admin

org.exolab.jms.tools.db

java.io

java.lang

java.net

java.util

org.apache.commons.logging

org.exolab.castor.mapping

org.exolab.castor.util

org.exolab.castor.xml

org.exolab.castor.xml.handlers

org.exolab.castor.xml.util

org.exolab.castor.xml.validators

org.exolab.jms.config.types

org.xml.sax

org.xml.sax.helpers

org.exolab.jms.jndi.http.servlet

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
HttpJmsJndiServlet

java.io

java.lang

java.util

javax.servlet

javax.servlet.http

org.exolab.core.ipc

org.exolab.jms.jndi.intravm

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 5 0% 83% 17%
Abstract Classes Concrete Classes Used by Packages Uses Packages
IntravmJndiInitialContextFactory

org.exolab.jms.jndi

java.lang

java.util

javax.naming

javax.naming.spi

org.exolab.jms.server.intravm

org.exolab.jms.messagemgr

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 22 27% 92% 19%
Abstract Classes Concrete Classes Used by Packages Uses Packages
CacheEvictionPolicy

ConsumerEndpoint

DestinationCache

DestinationCacheEventListener

DestinationEventListener

DestinationType

InternalMessageListener

MessageManagerEventListener

QueueListener

ResourceManager$TransactionalObjectWrapper

ConsumerManager

ConsumerManager$ConsumerEntry

ContextHelper

DestinationManager

DestinationManager$DestinationEntry

DurableConsumerEndpoint

FailedToInitializeException

MessageCache

MessageHandleComparator

MessageHandleFactory

MessageLeaseHelper

MessageMgr

MessageMgrException

MessageQueue

PersistentMessageHandle

QueueBrowserEndpoint

QueueConsumerEndpoint

QueueDestinationCache

ResourceManager

ResourceManager$1

ResourceManager$PublishedMessageWrapper

ResourceManager$ReceivedMessageWrapper

ResourceManager$TranLogFileComparator

ResourceManagerException

TopicConsumerEndpoint

TopicDestinationCache

TransientMessageHandle

org.exolab.jms.persistence

org.exolab.jms.server

java.io

java.lang

java.sql

java.util

javax.jms

javax.naming

javax.transaction.xa

org.apache.commons.logging

org.exolab.core.foundation

org.exolab.core.service

org.exolab.jms

org.exolab.jms.client

org.exolab.jms.config

org.exolab.jms.gc

org.exolab.jms.lease

org.exolab.jms.message

org.exolab.jms.persistence

org.exolab.jms.scheduler

org.exolab.jms.selector

org.exolab.jms.server

org.exolab.jms.tranlog

org.exolab.jms.util

org.exolab.jms.server.http.servlet

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
HttpJmsServerServlet

java.io

java.lang

java.util

javax.servlet

javax.servlet.http

org.exolab.core.ipc

org.exolab.core.mipc

org.exolab.jms.tools.admin

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 22 6% 100% 6%
Abstract Classes Concrete Classes Used by Packages Uses Packages
AbstractAdminConnection

BaseDialog

OpenJMSDestination

OpenJMSNode

OpenJMSObject

AdminInfo

AdminMgr

AdminMgr$1

AdminMgr$10

AdminMgr$2

AdminMgr$3

AdminMgr$4

AdminMgr$5

AdminMgr$6

AdminMgr$7

AdminMgr$8

AdminMgr$9

AdminMgr$StreamRedirect

ChangePasswordDialog

ChangePasswordDialog$1

ChangePasswordDialog$2

ChangePasswordDialog$3

ChangePasswordDialog$4

CreateConsumerDialog

CreateConsumerDialog$1

CreateConsumerDialog$2

CreateConsumerDialog$3

CreateConsumerDialog$4

CreateLogonDialog

CreateLogonDialog$1

CreateLogonDialog$2

CreateLogonDialog$3

CreateLogonDialog$4

CreateQueueDialog

CreateQueueDialog$1

CreateQueueDialog$2

CreateQueueDialog$3

CreateQueueDialog$4

CreateTopicDialog

CreateTopicDialog$1

CreateTopicDialog$2

CreateTopicDialog$3

CreateTopicDialog$4

CreateUserDialog

CreateUserDialog$1

CreateUserDialog$2

CreateUserDialog$3

CreateUserDialog$4

DatabaseFilter

OfflineConnection

OfflineConnectionException

OnlineConnection

OnlineConnectionException

OpenJMSConsumer

OpenJMSConsumer$1

OpenJMSConsumer$2

OpenJMSConsumerFolder

OpenJMSConsumerFolder$1

OpenJMSEditor

OpenJMSQueue

OpenJMSQueue$1

OpenJMSQueueFolder

OpenJMSQueueFolder$1

OpenJMSServer

OpenJMSServer$1

OpenJMSServer$2

OpenJMSServer$3

OpenJMSServer$4

OpenJMSTopic

OpenJMSTopic$1

OpenJMSTopic$2

OpenJMSTopicFolder

OpenJMSTopicFolder$1

OpenJMSUser

OpenJMSUser$1

OpenJMSUser$2

QueryDialog

java.awt

java.awt.event

java.io

java.lang

java.sql

java.text

java.util

javax.jms

javax.naming

javax.swing

javax.swing.event

javax.swing.filechooser

javax.swing.text

javax.swing.tree

org.apache.log4j.xml

org.apache.oro.text.regex

org.exolab.jms.administration

org.exolab.jms.authentication

org.exolab.jms.client

org.exolab.jms.config

org.exolab.jms.persistence

org.exolab.jms.util

org.exolab.jms.transaction

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
NullTransaction

NullTransactionManager

TransactionManagerType

TransactionServiceException

java.io

java.lang

javax.transaction

javax.transaction.xa

Cycles

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

Package Cyclic Dependencies
org.exolab.jms.administration org.exolab.jms.administration.http

org.exolab.jms.administration.mipc

org.exolab.jms.administration

org.exolab.jms.administration.http org.exolab.jms.administration.mipc

org.exolab.jms.administration

org.exolab.jms.administration.http

org.exolab.jms.administration.intravm org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.administration.mipc org.exolab.jms.administration

org.exolab.jms.administration.http

org.exolab.jms.administration.mipc

org.exolab.jms.administration.rmi org.exolab.jms.administration

org.exolab.jms.administration.http

org.exolab.jms.administration.mipc

org.exolab.jms.administration

org.exolab.jms.authentication org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.client org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.client.http org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.client.intravm org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.client.mipc org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.client.rmi org.exolab.jms.server.rmi

org.exolab.jms.client.rmi

org.exolab.jms.jndi org.exolab.jms.jndi.intravm

org.exolab.jms.server.intravm

org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.jndi.intravm org.exolab.jms.server.intravm

org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.jndiadministration org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.lease org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.message org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.messagemgr org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.persistence org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.selector org.exolab.jms.selector.parser

org.exolab.jms.selector

org.exolab.jms.selector.parser org.exolab.jms.selector

org.exolab.jms.selector.parser

org.exolab.jms.server org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.server.http org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.server.intravm org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.server.mipc org.exolab.jms.server

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.server.rmi org.exolab.jms.client.rmi

org.exolab.jms.server.rmi

org.exolab.jms.tools.admin org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.tools.db org.exolab.jms.persistence

org. exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

org.exolab.jms.tools.db.migration org.exolab.jms.tools.db

org.exolab.jms.persistence

org.exolab.jms.message

org.exolab.jms.client

org.exolab.jms.message

Explanations

[ 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 p ackage 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.