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.miloss.fgsms.wsn 2 2 0 0 8 0.0% 100.0% 0.0% 1
org.oasis_open.docs.wsn.b_2 51 50 1 3 10 2.0% 77.0% 21.0% 1
org.oasis_open.docs.wsn.br_2 11 10 1 1 9 9.0% 90.0% 1.0% 1
org.oasis_open.docs.wsn.brw_2 34 29 5 1 9 15.000001% 90.0% 5.0% 1
org.oasis_open.docs.wsn.client 5 5 0 0 6 0.0% 100.0% 0.0% 1
org.oasis_open.docs.wsn.t_1 9 7 2 2 4 22.0% 67.0% 11.0% 1
org.oasis_open.docs.wsrf.bf_2 6 5 1 3 6 17.0% 67.0% 17.0% 1
org.oasis_open.docs.wsrf.r_2 4 3 1 1 4 25.0% 80.0% 5.0% 1

Packages

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

org.miloss.fgsms.wsn

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 org.miloss.fgsms.wsn.WSNConstants
org.miloss.fgsms.wsn.WSNUtility
None java.lang
java.util
javax.xml.parsers
javax.xml.transform.dom
javax.xml.ws.wsaddressing
org.apache.log4j
org.oasis_open.docs.wsn.b_2
org.w3c.dom

org.oasis_open.docs.wsn.b_2

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 10 2.0% 77.0% 21.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.oasis_open.docs.wsn.b_2.package-info
org.oasis_open.docs.wsn.b_2.CreatePullPoint
org.oasis_open.docs.wsn.b_2.CreatePullPointResponse
org.oasis_open.docs.wsn.b_2.DestroyPullPoint
org.oasis_open.docs.wsn.b_2.DestroyPullPointResponse
org.oasis_open.docs.wsn.b_2.FilterType
org.oasis_open.docs.wsn.b_2.GetCurrentMessage
org.oasis_open.docs.wsn.b_2.GetCurrentMessageResponse
org.oasis_open.docs.wsn.b_2.GetMessages
org.oasis_open.docs.wsn.b_2.GetMessagesResponse
org.oasis_open.docs.wsn.b_2.InvalidFilterFaultType
org.oasis_open.docs.wsn.b_2.InvalidMessageContentExpressionFaultType
org.oasis_open.docs.wsn.b_2.InvalidProducerPropertiesExpressionFaultType
org.oasis_open.docs.wsn.b_2.InvalidTopicExpressionFaultType
org.oasis_open.docs.wsn.b_2.MultipleTopicsSpecifiedFaultType
org.oasis_open.docs.wsn.b_2.NoCurrentMessageOnTopicFaultType
org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType
org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType$Message
org.oasis_open.docs.wsn.b_2.NotificationProducerRP
org.oasis_open.docs.wsn.b_2.Notify
org.oasis_open.docs.wsn.b_2.NotifyMessageNotSupportedFaultType
org.oasis_open.docs.wsn.b_2.ObjectFactory
org.oasis_open.docs.wsn.b_2.PauseFailedFaultType
org.oasis_open.docs.wsn.b_2.PauseSubscription
org.oasis_open.docs.wsn.b_2.PauseSubscriptionResponse
org.oasis_open.docs.wsn.b_2.QueryExpressionType
org.oasis_open.docs.wsn.b_2.Renew
org.oasis_open.docs.wsn.b_2.RenewResponse
org.oasis_open.docs.wsn.b_2.ResumeFailedFaultType
org.oasis_open.docs.wsn.b_2.ResumeSubscription
org.oasis_open.docs.wsn.b_2.ResumeSubscriptionResponse
org.oasis_open.docs.wsn.b_2.Subscribe
org.oasis_open.docs.wsn.b_2.Subscribe$SubscriptionPolicy
org.oasis_open.docs.wsn.b_2.SubscribeCreationFailedFaultType
org.oasis_open.docs.wsn.b_2.SubscribeResponse
org.oasis_open.docs.wsn.b_2.SubscriptionManagerRP
org.oasis_open.docs.wsn.b_2.SubscriptionPolicyType
org.oasis_open.docs.wsn.b_2.TopicExpressionDialectUnknownFaultType
org.oasis_open.docs.wsn.b_2.TopicExpressionType
org.oasis_open.docs.wsn.b_2.TopicNotSupportedFaultType
org.oasis_open.docs.wsn.b_2.UnableToCreatePullPointFaultType
org.oasis_open.docs.wsn.b_2.UnableToDestroyPullPointFaultType
org.oasis_open.docs.wsn.b_2.UnableToDestroySubscriptionFaultType
org.oasis_open.docs.wsn.b_2.UnableToGetMessagesFaultType
org.oasis_open.docs.wsn.b_2.UnacceptableInitialTerminationTimeFaultType
org.oasis_open.docs.wsn.b_2.UnacceptableTerminationTimeFaultType
org.oasis_open.docs.wsn.b_2.UnrecognizedPolicyRequestFaultType
org.oasis_open.docs.wsn.b_2.Unsubscribe
org.oasis_open.docs.wsn.b_2.UnsubscribeResponse
org.oasis_open.docs.wsn.b_2.UnsupportedPolicyRequestFaultType
org.oasis_open.docs.wsn.b_2.UseRaw
org.miloss.fgsms.wsn
org.oasis_open.docs.wsn.br_2
org.oasis_open.docs.wsn.brw_2
java.lang
java.math
java.util
javax.xml.bind
javax.xml.datatype
javax.xml.namespace
javax.xml.ws.wsaddressing
org.oasis_open.docs.wsn.t_1
org.oasis_open.docs.wsrf.bf_2
org.w3c.dom

org.oasis_open.docs.wsn.br_2

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 9.0% 90.0% 1.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.oasis_open.docs.wsn.br_2.package-info
org.oasis_open.docs.wsn.br_2.DestroyRegistration
org.oasis_open.docs.wsn.br_2.DestroyRegistrationResponse
org.oasis_open.docs.wsn.br_2.NotificationBrokerRP
org.oasis_open.docs.wsn.br_2.ObjectFactory
org.oasis_open.docs.wsn.br_2.PublisherRegistrationFailedFaultType
org.oasis_open.docs.wsn.br_2.PublisherRegistrationRP
org.oasis_open.docs.wsn.br_2.PublisherRegistrationRejectedFaultType
org.oasis_open.docs.wsn.br_2.RegisterPublisher
org.oasis_open.docs.wsn.br_2.RegisterPublisherResponse
org.oasis_open.docs.wsn.br_2.ResourceNotDestroyedFaultType
org.oasis_open.docs.wsn.brw_2
java.lang
java.util
javax.xml.bind
javax.xml.datatype
javax.xml.namespace
javax.xml.ws.wsaddressing
org.oasis_open.docs.wsn.b_2
org.oasis_open.docs.wsn.t_1
org.oasis_open.docs.wsrf.bf_2

org.oasis_open.docs.wsn.brw_2

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 15.000001% 90.0% 5.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.oasis_open.docs.wsn.brw_2.CreatePullPoint
org.oasis_open.docs.wsn.brw_2.NotificationBroker
org.oasis_open.docs.wsn.brw_2.PausableSubscriptionManager
org.oasis_open.docs.wsn.brw_2.PublisherRegistrationManager
org.oasis_open.docs.wsn.brw_2.PullPoint
org.oasis_open.docs.wsn.brw_2.CreatePullPointService
org.oasis_open.docs.wsn.brw_2.InvalidFilterFault
org.oasis_open.docs.wsn.brw_2.InvalidMessageContentExpressionFault
org.oasis_open.docs.wsn.brw_2.InvalidProducerPropertiesExpressionFault
org.oasis_open.docs.wsn.brw_2.InvalidTopicExpressionFault
org.oasis_open.docs.wsn.brw_2.MultipleTopicsSpecifiedFault
org.oasis_open.docs.wsn.brw_2.NoCurrentMessageOnTopicFault
org.oasis_open.docs.wsn.brw_2.NotificationService
org.oasis_open.docs.wsn.brw_2.NotifyMessageNotSupportedFault
org.oasis_open.docs.wsn.brw_2.PausableSubscriptionManagerService
org.oasis_open.docs.wsn.brw_2.PauseFailedFault
org.oasis_open.docs.wsn.brw_2.PublisherRegistrationFailedFault
org.oasis_open.docs.wsn.brw_2.PublisherRegistrationManagerService
org.oasis_open.docs.wsn.brw_2.PublisherRegistrationRejectedFault
org.oasis_open.docs.wsn.brw_2.PullPointService
org.oasis_open.docs.wsn.brw_2.ResourceNotDestroyedFault
org.oasis_open.docs.wsn.brw_2.ResourceUnknownFault
org.oasis_open.docs.wsn.brw_2.ResumeFailedFault
org.oasis_open.docs.wsn.brw_2.SubscribeCreationFailedFault
org.oasis_open.docs.wsn.brw_2.TopicExpressionDialectUnknownFault
org.oasis_open.docs.wsn.brw_2.TopicNotSupportedFault
org.oasis_open.docs.wsn.brw_2.UnableToCreatePullPointFault
org.oasis_open.docs.wsn.brw_2.UnableToDestroyPullPointFault
org.oasis_open.docs.wsn.brw_2.UnableToDestroySubscriptionFault
org.oasis_open.docs.wsn.brw_2.UnableToGetMessagesFault
org.oasis_open.docs.wsn.brw_2.UnacceptableInitialTerminationTimeFault
org.oasis_open.docs.wsn.brw_2.UnacceptableTerminationTimeFault
org.oasis_open.docs.wsn.brw_2.UnrecognizedPolicyRequestFault
org.oasis_open.docs.wsn.brw_2.UnsupportedPolicyRequestFault
org.oasis_open.docs.wsn.client
java.lang
java.net
java.util.logging
javax.jws.soap
javax.xml.namespace
javax.xml.ws
org.oasis_open.docs.wsn.b_2
org.oasis_open.docs.wsn.br_2
org.oasis_open.docs.wsrf.r_2

org.oasis_open.docs.wsn.client

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.oasis_open.docs.wsn.client.CreatePullPointService
org.oasis_open.docs.wsn.client.NotificationService
org.oasis_open.docs.wsn.client.PausableSubscriptionManagerService
org.oasis_open.docs.wsn.client.PublisherRegistrationManagerService
org.oasis_open.docs.wsn.client.PullPointService
None java.lang
java.net
java.util.logging
javax.xml.namespace
javax.xml.ws
org.oasis_open.docs.wsn.brw_2

org.oasis_open.docs.wsn.t_1

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 4 22.0% 67.0% 11.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.oasis_open.docs.wsn.t_1.ExtensibleDocumented
org.oasis_open.docs.wsn.t_1.package-info
org.oasis_open.docs.wsn.t_1.Documentation
org.oasis_open.docs.wsn.t_1.ObjectFactory
org.oasis_open.docs.wsn.t_1.QueryExpressionType
org.oasis_open.docs.wsn.t_1.TopicNamespaceType
org.oasis_open.docs.wsn.t_1.TopicNamespaceType$Topic
org.oasis_open.docs.wsn.t_1.TopicSetType
org.oasis_open.docs.wsn.t_1.TopicType
org.oasis_open.docs.wsn.b_2
org.oasis_open.docs.wsn.br_2
java.lang
java.util
javax.xml.bind
javax.xml.namespace

org.oasis_open.docs.wsrf.bf_2

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 6 17.0% 67.0% 17.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.oasis_open.docs.wsrf.bf_2.package-info
org.oasis_open.docs.wsrf.bf_2.BaseFaultType
org.oasis_open.docs.wsrf.bf_2.BaseFaultType$Description
org.oasis_open.docs.wsrf.bf_2.BaseFaultType$ErrorCode
org.oasis_open.docs.wsrf.bf_2.BaseFaultType$FaultCause
org.oasis_open.docs.wsrf.bf_2.ObjectFactory
org.oasis_open.docs.wsn.b_2
org.oasis_open.docs.wsn.br_2
org.oasis_open.docs.wsrf.r_2
java.lang
java.util
javax.xml.bind
javax.xml.datatype
javax.xml.namespace
javax.xml.ws.wsaddressing

org.oasis_open.docs.wsrf.r_2

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 4 25.0% 80.0% 5.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.oasis_open.docs.wsrf.r_2.package-info
org.oasis_open.docs.wsrf.r_2.ObjectFactory
org.oasis_open.docs.wsrf.r_2.ResourceUnavailableFaultType
org.oasis_open.docs.wsrf.r_2.ResourceUnknownFaultType
org.oasis_open.docs.wsn.brw_2
java.lang
javax.xml.bind
javax.xml.namespace
org.oasis_open.docs.wsrf.bf_2

Cycles

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

There are no cyclic dependencies.

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.