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 ]

PackageTCCCACCaCeAIDV
org.bitrepository.bitrepositorydata7610814.0%100.0%14.0%1
org.bitrepository.bitrepositoryelements515014102.0%71.0%27.000002%1
org.bitrepository.bitrepositorymessages46451472.0%64.0%34.0%1
org.bitrepository.protocol4312925.0%82.0%7.0%1
org.bitrepository.protocol.activemq4401120.0%92.0%8.0%1
org.bitrepository.protocol.configuration4312425.0%67.0%8.0%1
org.bitrepository.protocol.conversation6331950.0%90.0%40.0%1
org.bitrepository.protocol.eventhandler7432143.0%33.0%24.0%1
org.bitrepository.protocol.exceptions660220.0%50.0%50.0%1
org.bitrepository.protocol.http4401100.0%91.0%9.0%1
org.bitrepository.protocol.mediator65101017.0%100.0%17.0%1
org.bitrepository.protocol.messagebus5144980.0%69.0%49.0%1
org.bitrepository.protocol.pillarselector3210433.0%100.0%33.0%1
org.bitrepository.protocol.time220050.0%100.0%0.0%1

Packages

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

org.bitrepository.bitrepositorydata

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0814.0%100.0%14.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.bitrepositorydata.package-info
org.bitrepository.bitrepositorydata.FileIDsParameters
org.bitrepository.bitrepositorydata.GetAuditTrailsResults
org.bitrepository.bitrepositorydata.GetChecksumsResults
org.bitrepository.bitrepositorydata.GetFileIDsResults
org.bitrepository.bitrepositorydata.GetStatusResults
org.bitrepository.bitrepositorydata.ObjectFactory
Nonejava.io
java.lang
java.math
java.util
org.bitrepository.bitrepositoryelements
org.jvnet.jaxb2_commons.lang
org.jvnet.jaxb2_commons.locator
org.jvnet.jaxb2_commons.locator.util

org.bitrepository.bitrepositoryelements

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
4102.0%71.0%27.000002%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.bitrepositoryelements.package-info
org.bitrepository.bitrepositoryelements.ActionTYPE
org.bitrepository.bitrepositoryelements.ActionTYPE$Access
org.bitrepository.bitrepositoryelements.ActionTYPE$Create
org.bitrepository.bitrepositoryelements.ActionTYPE$Endanger
org.bitrepository.bitrepositoryelements.ActionTYPE$IntegrityCheck
org.bitrepository.bitrepositoryelements.ActionTYPE$Modify
org.bitrepository.bitrepositoryelements.ActionTYPE$PhysicalMove
org.bitrepository.bitrepositoryelements.ActionTYPE$Remove
org.bitrepository.bitrepositoryelements.ActorTYPE
org.bitrepository.bitrepositoryelements.ActorTYPE$ActorType
org.bitrepository.bitrepositoryelements.AlarmConcerning
org.bitrepository.bitrepositoryelements.AlarmConcerning$Components
org.bitrepository.bitrepositoryelements.AlarmConcerning$FileInformation
org.bitrepository.bitrepositoryelements.AlarmDescription
org.bitrepository.bitrepositoryelements.AlarmcodeType
org.bitrepository.bitrepositoryelements.AuditTrailData
org.bitrepository.bitrepositoryelements.AuditTrailDataItem
org.bitrepository.bitrepositoryelements.ChecksumDataForChecksumSpecTYPE
org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE
org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE
org.bitrepository.bitrepositoryelements.ChecksumSpecs
org.bitrepository.bitrepositoryelements.ChecksumSpecs$ChecksumSpecsItems
org.bitrepository.bitrepositoryelements.ChecksumsDataForFile
org.bitrepository.bitrepositoryelements.ChecksumsDataForNewFile
org.bitrepository.bitrepositoryelements.ComponentTYPE
org.bitrepository.bitrepositoryelements.ComponentTYPE$ComponentType
org.bitrepository.bitrepositoryelements.ContributorStatusElementTYPE
org.bitrepository.bitrepositoryelements.ContributorStatusTYPE
org.bitrepository.bitrepositoryelements.ContributorStatusTYPE$ContributorStatusElements
org.bitrepository.bitrepositoryelements.FileIDs
org.bitrepository.bitrepositoryelements.FileIDsData
org.bitrepository.bitrepositoryelements.FileIDsData$FileIDsDataItems
org.bitrepository.bitrepositoryelements.FileIDsDataItem
org.bitrepository.bitrepositoryelements.FileIDsParameterData
org.bitrepository.bitrepositoryelements.FileIDsParameterData$FileIDsItems
org.bitrepository.bitrepositoryelements.FilePart
org.bitrepository.bitrepositoryelements.ObjectFactory
org.bitrepository.bitrepositoryelements.PriorityCodeType
org.bitrepository.bitrepositoryelements.ResponseCode
org.bitrepository.bitrepositoryelements.ResponseInfo
org.bitrepository.bitrepositoryelements.ResultingAuditTrails
org.bitrepository.bitrepositoryelements.ResultingChecksums
org.bitrepository.bitrepositoryelements.ResultingFileIDs
org.bitrepository.bitrepositoryelements.ResultingStatus
org.bitrepository.bitrepositoryelements.RiskAreaType
org.bitrepository.bitrepositoryelements.RiskImpactScoreType
org.bitrepository.bitrepositoryelements.RiskProbabilityScoreType
org.bitrepository.bitrepositoryelements.RiskTYPE
org.bitrepository.bitrepositoryelements.TimeMeasureTYPE
org.bitrepository.bitrepositoryelements.TimeMeasureTYPE$TimeMeasureUnit
org.bitrepository.bitrepositorydata
org.bitrepository.bitrepositorymessages
org.bitrepository.protocol.exceptions
org.bitrepository.protocol.time
java.io
java.lang
java.math
java.util
javax.xml.bind
javax.xml.datatype
javax.xml.namespace
org.jvnet.jaxb2_commons.lang
org.jvnet.jaxb2_commons.locator
org.jvnet.jaxb2_commons.locator.util

org.bitrepository.bitrepositorymessages

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
472.0%64.0%34.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.bitrepositorymessages.package-info
org.bitrepository.bitrepositorymessages.Alarm
org.bitrepository.bitrepositorymessages.DeleteFileFinalResponse
org.bitrepository.bitrepositorymessages.DeleteFileProgressResponse
org.bitrepository.bitrepositorymessages.DeleteFileRequest
org.bitrepository.bitrepositorymessages.GetAuditTrailsFinalResponse
org.bitrepository.bitrepositorymessages.GetAuditTrailsProgressResponse
org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest
org.bitrepository.bitrepositorymessages.GetChecksumsFinalResponse
org.bitrepository.bitrepositorymessages.GetChecksumsProgressResponse
org.bitrepository.bitrepositorymessages.GetChecksumsRequest
org.bitrepository.bitrepositorymessages.GetFileFinalResponse
org.bitrepository.bitrepositorymessages.GetFileIDsFinalResponse
org.bitrepository.bitrepositorymessages.GetFileIDsProgressResponse
org.bitrepository.bitrepositorymessages.GetFileIDsRequest
org.bitrepository.bitrepositorymessages.GetFileProgressResponse
org.bitrepository.bitrepositorymessages.GetFileRequest
org.bitrepository.bitrepositorymessages.GetStatusFinalResponse
org.bitrepository.bitrepositorymessages.GetStatusProgressResponse
org.bitrepository.bitrepositorymessages.GetStatusRequest
org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest
org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsResponse
org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest
org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusResponse
org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest
org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileResponse
org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest
org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsResponse
org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest
org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsResponse
org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest
org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileResponse
org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest
org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileResponse
org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest
org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileResponse
org.bitrepository.bitrepositorymessages.Message
org.bitrepository.bitrepositorymessages.MessageRequest
org.bitrepository.bitrepositorymessages.MessageResponse
org.bitrepository.bitrepositorymessages.ObjectFactory
org.bitrepository.bitrepositorymessages.PutFileFinalResponse
org.bitrepository.bitrepositorymessages.PutFileProgressResponse
org.bitrepository.bitrepositorymessages.PutFileRequest
org.bitrepository.bitrepositorymessages.ReplaceFileFinalResponse
org.bitrepository.bitrepositorymessages.ReplaceFileProgressResponse
org.bitrepository.bitrepositorymessages.ReplaceFileRequest
org.bitrepository.protocol.activemq
org.bitrepository.protocol.conversation
org.bitrepository.protocol.mediator
org.bitrepository.protocol.messagebus
java.io
java.lang
java.math
org.bitrepository.bitrepositoryelements
org.jvnet.jaxb2_commons.lang
org.jvnet.jaxb2_commons.locator
org.jvnet.jaxb2_commons.locator.util

org.bitrepository.protocol

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2925.0%82.0%7.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.FileExchange
org.bitrepository.protocol.CoordinationLayerException
org.bitrepository.protocol.ProtocolComponentFactory
org.bitrepository.protocol.ProtocolConstants
org.bitrepository.protocol.activemq
org.bitrepository.protocol.http
java.io
java.lang
java.net
java.util
org.bitrepository.common
org.bitrepository.common.settings
org.bitrepository.protocol.configuration
org.bitrepository.protocol.http
org.bitrepository.protocol.messagebus

org.bitrepository.protocol.activemq

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1120.0%92.0%8.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.bitrepository.protocol.activemq.ActiveMQMessageBus
org.bitrepository.protocol.activemq.ActiveMQMessageBus$1
org.bitrepository.protocol.activemq.ActiveMQMessageBus$ActiveMQMessageListener
org.bitrepository.protocol.activemq.ActiveMQMessageBus$MessageBusExceptionListener
org.bitrepository.protocol.messagebus
java.lang
java.util
javax.jms
org.apache.activemq
org.apache.activemq.util
org.bitrepository.bitrepositorymessages
org.bitrepository.common
org.bitrepository.protocol
org.bitrepository.protocol.messagebus
org.bitrepository.settings.collectionsettings
org.slf4j
org.xml.sax

org.bitrepository.protocol.configuration

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2425.0%67.0%8.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.configuration.package-info
org.bitrepository.protocol.configuration.FileExchangeConfiguration
org.bitrepository.protocol.configuration.ObjectFactory
org.bitrepository.protocol.configuration.ProtocolConfiguration
org.bitrepository.protocol
org.bitrepository.protocol.http
java.lang
org.jvnet.jaxb2_commons.lang
org.jvnet.jaxb2_commons.locator
org.jvnet.jaxb2_commons.locator.util

org.bitrepository.protocol.conversation

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1950.0%90.0%40.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.conversation.AbstractConversation
org.bitrepository.protocol.conversation.Conversation
org.bitrepository.protocol.conversation.ConversationState
org.bitrepository.protocol.conversation.ConversationEventMonitor
org.bitrepository.protocol.conversation.ConversationEventMonitor$ConversationLogger
org.bitrepository.protocol.conversation.FlowController
org.bitrepository.protocol.mediator
java.lang
java.math
org.bitrepository.bitrepositorymessages
org.bitrepository.common.settings
org.bitrepository.protocol.eventhandler
org.bitrepository.protocol.exceptions
org.bitrepository.protocol.messagebus
org.bitrepository.settings.collectionsettings
org.slf4j

org.bitrepository.protocol.eventhandler

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2143.0%33.0%24.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.eventhandler.AbstractOperationEvent
org.bitrepository.protocol.eventhandler.EventHandler
org.bitrepository.protocol.eventhandler.OperationEvent
org.bitrepository.protocol.eventhandler.DefaultEvent
org.bitrepository.protocol.eventhandler.OperationEvent$OperationEventType
org.bitrepository.protocol.eventhandler.OperationFailedEvent
org.bitrepository.protocol.eventhandler.PillarOperationEvent
org.bitrepository.protocol.conversation
org.bitrepository.protocol.mediator
java.lang

org.bitrepository.protocol.exceptions

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
220.0%50.0%50.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.bitrepository.protocol.exceptions.ConversationTimedOutException
org.bitrepository.protocol.exceptions.NegativeResponseException
org.bitrepository.protocol.exceptions.NoPillarFoundException
org.bitrepository.protocol.exceptions.OperationFailedException
org.bitrepository.protocol.exceptions.OperationTimeOutException
org.bitrepository.protocol.exceptions.UnexpectedResponseException
org.bitrepository.protocol.conversation
org.bitrepository.protocol.pillarselector
java.lang
org.bitrepository.bitrepositoryelements

org.bitrepository.protocol.http

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1100.0%91.0%9.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.bitrepository.protocol.http.HTTPFileExchange
org.bitrepository.protocol.http.HTTPSFileExchange
org.bitrepository.protocol.http.HTTPSFileExchange$1
org.bitrepository.protocol.http.HTTPSFileExchange$VerifyingHostnameVerifier
org.bitrepository.protocol
java.io
java.lang
java.net
java.security
java.security.cert
javax.net.ssl
org.bitrepository.common.utils
org.bitrepository.protocol
org.bitrepository.protocol.configuration
org.slf4j

org.bitrepository.protocol.mediator

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01017.0%100.0%17.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.mediator.ConversationMediator
org.bitrepository.protocol.mediator.CollectionBasedConversationMediator
org.bitrepository.protocol.mediator.CollectionBasedConversationMediator$1
org.bitrepository.protocol.mediator.CollectionBasedConversationMediator$ConversationCleaner
org.bitrepository.protocol.mediator.CollectionBasedConversationMediator$FailingConversation
org.bitrepository.protocol.mediator.ConversationMediatorManager
Nonejava.lang
java.math
java.util
org.bitrepository.bitrepositorymessages
org.bitrepository.common.settings
org.bitrepository.protocol.conversation
org.bitrepository.protocol.eventhandler
org.bitrepository.protocol.messagebus
org.bitrepository.settings.referencesettings
org.slf4j

org.bitrepository.protocol.messagebus

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
4980.0%69.0%49.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.messagebus.AbstractMessageListener
org.bitrepository.protocol.messagebus.MessageBus
org.bitrepository.protocol.messagebus.MessageListener
org.bitrepository.protocol.messagebus.MessageSender
org.bitrepository.protocol.messagebus.MessageBusManager
org.bitrepository.protocol
org.bitrepository.protocol.activemq
org.bitrepository.protocol.conversation
org.bitrepository.protocol.mediator
java.lang
java.util
javax.jms
javax.xml.bind
org.bitrepository.bitrepositorymessages
org.bitrepository.common
org.bitrepository.common.settings
org.bitrepository.protocol.activemq
org.slf4j

org.bitrepository.protocol.pillarselector

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0433.0%100.0%33.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.bitrepository.protocol.pillarselector.SinglePillarSelector
org.bitrepository.protocol.pillarselector.PillarsResponseStatus
org.bitrepository.protocol.pillarselector.SelectedPillarInfo
Nonejava.lang
java.util
org.bitrepository.common.exceptions
org.bitrepository.protocol.exceptions

org.bitrepository.protocol.time

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
050.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.bitrepository.protocol.time.TimeMeasureComparator
org.bitrepository.protocol.time.TimeMeasurementUtils
Nonejava.lang
java.math
java.util
org.bitrepository.bitrepositoryelements
org.bitrepository.common

Cycles

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

PackagePackage Dependencies
org.bitrepository.protocolorg.bitrepository.protocol.messagebus
org.bitrepository.protocol.activemq
org.bitrepository.protocol.messagebus
org.bitrepository.protocol.activemqorg.bitrepository.protocol.messagebus
org.bitrepository.protocol.activemq
org.bitrepository.protocol.conversationorg.bitrepository.protocol.messagebus
org.bitrepository.protocol.activemq
org.bitrepository.protocol.messagebus
org.bitrepository.protocol.httporg.bitrepository.protocol
org.bitrepository.protocol.messagebus
org.bitrepository.protocol.activemq
org.bitrepository.protocol.messagebus
org.bitrepository.protocol.mediatororg.bitrepository.protocol.conversation
org.bitrepository.protocol.messagebus
org.bitrepository.protocol.activemq
org.bitrepository.protocol.messagebus
org.bitrepository.protocol.messagebusorg.bitrepository.protocol.activemq
org.bitrepository.protocol.messagebus

Explanation

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

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

TermDescription
Number of ClassesThe number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent CouplingsThe number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent CouplingsThe number of other packages that the classes in the package depend upon is an indicator of the package's independence.
AbstractnessThe 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.
InstabilityThe 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.
DistanceThe 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.
CyclesPackages 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.