Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.bitrepository.bitrepositorydata | 7 | 6 | 1 | 0 | 8 | 14.0% | 100.0% | 14.0% | 1 |
org.bitrepository.bitrepositoryelements | 51 | 50 | 1 | 4 | 10 | 2.0% | 71.0% | 27.000002% | 1 |
org.bitrepository.bitrepositorymessages | 46 | 45 | 1 | 4 | 7 | 2.0% | 64.0% | 34.0% | 1 |
org.bitrepository.protocol | 4 | 3 | 1 | 2 | 9 | 25.0% | 82.0% | 7.0% | 1 |
org.bitrepository.protocol.activemq | 4 | 4 | 0 | 1 | 12 | 0.0% | 92.0% | 8.0% | 1 |
org.bitrepository.protocol.configuration | 4 | 3 | 1 | 2 | 4 | 25.0% | 67.0% | 8.0% | 1 |
org.bitrepository.protocol.conversation | 6 | 3 | 3 | 1 | 9 | 50.0% | 90.0% | 40.0% | 1 |
org.bitrepository.protocol.eventhandler | 7 | 4 | 3 | 2 | 1 | 43.0% | 33.0% | 24.0% | 1 |
org.bitrepository.protocol.exceptions | 6 | 6 | 0 | 2 | 2 | 0.0% | 50.0% | 50.0% | 1 |
org.bitrepository.protocol.http | 4 | 4 | 0 | 1 | 10 | 0.0% | 91.0% | 9.0% | 1 |
org.bitrepository.protocol.mediator | 6 | 5 | 1 | 0 | 10 | 17.0% | 100.0% | 17.0% | 1 |
org.bitrepository.protocol.messagebus | 5 | 1 | 4 | 4 | 9 | 80.0% | 69.0% | 49.0% | 1 |
org.bitrepository.protocol.pillarselector | 3 | 2 | 1 | 0 | 4 | 33.0% | 100.0% | 33.0% | 1 |
org.bitrepository.protocol.time | 2 | 2 | 0 | 0 | 5 | 0.0% | 100.0% | 0.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 14.0% | 100.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | java.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 10 | 2.0% | 71.0% | 27.000002% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 7 | 2.0% | 64.0% | 34.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 9 | 25.0% | 82.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 25.0% | 67.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 50.0% | 90.0% | 40.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 1 | 43.0% | 33.0% | 24.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 10 | 0.0% | 91.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | java.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 9 | 80.0% | 69.0% | 49.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.bitrepository.protocol.pillarselector.SinglePillarSelector | org.bitrepository.protocol.pillarselector.PillarsResponseStatus org.bitrepository.protocol.pillarselector.SelectedPillarInfo | None | java.lang java.util org.bitrepository.common.exceptions org.bitrepository.protocol.exceptions |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.bitrepository.protocol.time.TimeMeasureComparator org.bitrepository.protocol.time.TimeMeasurementUtils | None | java.lang java.math java.util org.bitrepository.bitrepositoryelements org.bitrepository.common |
Package | Package Dependencies |
---|---|
org.bitrepository.protocol | org.bitrepository.protocol.messagebus org.bitrepository.protocol.activemq org.bitrepository.protocol.messagebus |
org.bitrepository.protocol.activemq | org.bitrepository.protocol.messagebus org.bitrepository.protocol.activemq |
org.bitrepository.protocol.conversation | org.bitrepository.protocol.messagebus org.bitrepository.protocol.activemq org.bitrepository.protocol.messagebus |
org.bitrepository.protocol.http | org.bitrepository.protocol org.bitrepository.protocol.messagebus org.bitrepository.protocol.activemq org.bitrepository.protocol.messagebus |
org.bitrepository.protocol.mediator | org.bitrepository.protocol.conversation org.bitrepository.protocol.messagebus org.bitrepository.protocol.activemq org.bitrepository.protocol.messagebus |
org.bitrepository.protocol.messagebus | org.bitrepository.protocol.activemq org.bitrepository.protocol.messagebus |
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. |