magnolia-ui-framework Version: 5.0-alpha1-rc1 Last Published: Dec 10, 2012

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
info.magnolia.ui.framework.app174133876.0%73.0%49.0%1
info.magnolia.ui.framework.app.builder3210433.0%100.0%33.0%1
info.magnolia.ui.framework.app.launcherlayout86201025.0%100.0%25.0%1
info.magnolia.ui.framework.app.launcherlayout.definition6331250.0%67.0%17.0%1
info.magnolia.ui.framework.app.registry1210221417.0%88.0%4.0%1
info.magnolia.ui.framework.event151147927.000002%56.0%17.0%1
info.magnolia.ui.framework.instantpreview6420733.0%100.0%33.0%1
info.magnolia.ui.framework.location13942631.0%75.0%6.0%1
info.magnolia.ui.framework.message1512311220.0%92.0%12.0%1
info.magnolia.ui.framework.shell5232460.000004%67.0%27.000002%1
info.magnolia.ui.framework.view20213100.0%75.0%75.0%1

Packages

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

info.magnolia.ui.framework.app

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
3876.0%73.0%49.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.app.AbstractApp
info.magnolia.ui.framework.app.AbstractSubApp
info.magnolia.ui.framework.app.App
info.magnolia.ui.framework.app.AppContext
info.magnolia.ui.framework.app.AppController
info.magnolia.ui.framework.app.AppDescriptor
info.magnolia.ui.framework.app.AppLifecycleEventHandler
info.magnolia.ui.framework.app.ShellApp
info.magnolia.ui.framework.app.ShellAppContext
info.magnolia.ui.framework.app.ShellView
info.magnolia.ui.framework.app.SubApp
info.magnolia.ui.framework.app.SubAppContext
info.magnolia.ui.framework.app.SubAppDescriptor
info.magnolia.ui.framework.app.AppLifecycleEvent
info.magnolia.ui.framework.app.AppLifecycleEvent$1
info.magnolia.ui.framework.app.AppLifecycleEventHandler$Adapter
info.magnolia.ui.framework.app.AppLifecycleEventType
info.magnolia.ui.framework.app.builder
info.magnolia.ui.framework.app.launcherlayout
info.magnolia.ui.framework.app.registry
info.magnolia.objectfactory
info.magnolia.ui.framework.event
info.magnolia.ui.framework.location
info.magnolia.ui.framework.message
info.magnolia.ui.framework.view
java.io
java.lang
java.util

info.magnolia.ui.framework.app.builder

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0433.0%100.0%33.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.app.builder.App
info.magnolia.ui.framework.app.builder.AppBuilder
info.magnolia.ui.framework.app.builder.SubAppBuilder
Noneinfo.magnolia.ui.framework.app
info.magnolia.ui.framework.app.registry
java.lang
java.lang.annotation

info.magnolia.ui.framework.app.launcherlayout

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01025.0%100.0%25.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutChangedEventHandler
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutManager
info.magnolia.ui.framework.app.launcherlayout.AppLauncherGroup
info.magnolia.ui.framework.app.launcherlayout.AppLauncherGroupEntry
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayout
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutChangedEvent
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutManagerImpl
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutManagerImpl$1
Noneinfo.magnolia.registry
info.magnolia.ui.framework.app
info.magnolia.ui.framework.app.launcherlayout.definition
info.magnolia.ui.framework.app.registry
info.magnolia.ui.framework.event
java.lang
java.util
java.util.concurrent.atomic
org.apache.commons.lang
org.slf4j

info.magnolia.ui.framework.app.launcherlayout.definition

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1250.0%67.0%17.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.app.launcherlayout.definition.AppLauncherGroupDefinition
info.magnolia.ui.framework.app.launcherlayout.definition.AppLauncherGroupEntryDefinition
info.magnolia.ui.framework.app.launcherlayout.definition.AppLauncherLayoutDefinition
info.magnolia.ui.framework.app.launcherlayout.definition.ConfiguredAppLauncherGroupDefinition
info.magnolia.ui.framework.app.launcherlayout.definition.ConfiguredAppLauncherGroupEntryDefinition
info.magnolia.ui.framework.app.launcherlayout.definition.ConfiguredAppLauncherLayoutDefinition
info.magnolia.ui.framework.app.launcherlayout
java.lang
java.util

info.magnolia.ui.framework.app.registry

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
21417.0%88.0%4.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.app.registry.AppDescriptorProvider
info.magnolia.ui.framework.app.registry.AppRegistryEventHandler
info.magnolia.ui.framework.app.registry.AppDescriptorRegistry
info.magnolia.ui.framework.app.registry.AppDescriptorRegistry$1
info.magnolia.ui.framework.app.registry.AppRegistryEvent
info.magnolia.ui.framework.app.registry.AppRegistryEvent$1
info.magnolia.ui.framework.app.registry.AppRegistryEventType
info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptor
info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptorManager
info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptorManager$1
info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptorProvider
info.magnolia.ui.framework.app.registry.ConfiguredSubAppDescriptor
info.magnolia.ui.framework.app.builder
info.magnolia.ui.framework.app.launcherlayout
info.magnolia.cms.util
info.magnolia.jcr.node2bean
info.magnolia.jcr.util
info.magnolia.module
info.magnolia.objectfactory
info.magnolia.registry
info.magnolia.ui.framework.app
info.magnolia.ui.framework.event
java.lang
java.util
javax.jcr
org.apache.commons.collections
org.apache.jackrabbit.commons.predicate
org.slf4j

info.magnolia.ui.framework.event

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
7927.000002%56.0%17.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.event.Event
info.magnolia.ui.framework.event.EventBus
info.magnolia.ui.framework.event.EventHandler
info.magnolia.ui.framework.event.HandlerRegistration
info.magnolia.ui.framework.event.AdminCentralEventBusConfigurer
info.magnolia.ui.framework.event.AppEventBusConfigurer
info.magnolia.ui.framework.event.ChooseDialogEventBusConfigurer
info.magnolia.ui.framework.event.EventHandlerCollection
info.magnolia.ui.framework.event.EventHandlerCollection$1
info.magnolia.ui.framework.event.ResettableEventBus
info.magnolia.ui.framework.event.ResettableEventBus$1
info.magnolia.ui.framework.event.SimpleEventBus
info.magnolia.ui.framework.event.SimpleEventBus$1
info.magnolia.ui.framework.event.SubAppEventBusConfigurer
info.magnolia.ui.framework.event.SystemEventBusConfigurer
info.magnolia.ui.framework.app
info.magnolia.ui.framework.app.launcherlayout
info.magnolia.ui.framework.app.registry
info.magnolia.ui.framework.instantpreview
info.magnolia.ui.framework.location
info.magnolia.ui.framework.message
info.magnolia.ui.framework.shell
com.google.common.collect
com.google.inject.binder
com.google.inject.name
com.google.inject.util
info.magnolia.objectfactory.guice
java.lang
java.util
java.util.concurrent
org.slf4j

info.magnolia.ui.framework.instantpreview

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0733.0%100.0%33.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.instantpreview.InstantPreviewLocationManager
info.magnolia.ui.framework.instantpreview.InstantPreviewLocationManager$PreviewLocationListener
info.magnolia.ui.framework.instantpreview.InstantPreviewDispatcher
info.magnolia.ui.framework.instantpreview.InstantPreviewDispatcher$1
info.magnolia.ui.framework.instantpreview.InstantPreviewHostNotFoundException
info.magnolia.ui.framework.instantpreview.InstantPreviewLocationManagerImpl
Nonecom.google.common.collect
info.magnolia.ui.framework.event
info.magnolia.ui.framework.location
info.magnolia.ui.framework.shell
java.lang
java.util
org.slf4j

info.magnolia.ui.framework.location

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2631.0%75.0%6.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.location.Location
info.magnolia.ui.framework.location.LocationChangeRequestedEvent$Handler
info.magnolia.ui.framework.location.LocationChangedEvent$Handler
info.magnolia.ui.framework.location.LocationHistoryMapper
info.magnolia.ui.framework.location.DefaultLocation
info.magnolia.ui.framework.location.Location$1
info.magnolia.ui.framework.location.LocationChangeRequestedEvent
info.magnolia.ui.framework.location.LocationChangedEvent
info.magnolia.ui.framework.location.LocationController
info.magnolia.ui.framework.location.LocationController$1
info.magnolia.ui.framework.location.LocationHistoryHandler
info.magnolia.ui.framework.location.LocationHistoryHandler$1
info.magnolia.ui.framework.location.LocationHistoryHandler$2
info.magnolia.ui.framework.app
info.magnolia.ui.framework.instantpreview
info.magnolia.ui.framework.event
info.magnolia.ui.framework.shell
java.lang
java.util
org.apache.commons.lang
org.slf4j

info.magnolia.ui.framework.message

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
11220.0%92.0%12.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.message.MessageEventHandler
info.magnolia.ui.framework.message.MessagesManager
info.magnolia.ui.framework.message.MessagesManager$MessageListener
info.magnolia.ui.framework.message.LocalMessageDispatcher
info.magnolia.ui.framework.message.LocalMessageDispatcher$1
info.magnolia.ui.framework.message.Message
info.magnolia.ui.framework.message.MessageEvent
info.magnolia.ui.framework.message.MessageStore
info.magnolia.ui.framework.message.MessageStore$1
info.magnolia.ui.framework.message.MessageStore$2
info.magnolia.ui.framework.message.MessageStore$3
info.magnolia.ui.framework.message.MessageStore$4
info.magnolia.ui.framework.message.MessageType
info.magnolia.ui.framework.message.MessageType$1
info.magnolia.ui.framework.message.MessagesManagerImpl
info.magnolia.ui.framework.app
com.google.common.collect
info.magnolia.cms.security
info.magnolia.context
info.magnolia.jcr.util
info.magnolia.ui.framework.event
java.lang
java.util
java.util.concurrent
javax.inject
javax.jcr
org.apache.jackrabbit.commons
org.slf4j

info.magnolia.ui.framework.shell

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2460.000004%67.0%27.000002%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.shell.ConfirmationHandler
info.magnolia.ui.framework.shell.FragmentChangedHandler
info.magnolia.ui.framework.shell.Shell
info.magnolia.ui.framework.shell.FragmentChangedEvent
info.magnolia.ui.framework.shell.Fragmenter
info.magnolia.ui.framework.instantpreview
info.magnolia.ui.framework.location
info.magnolia.ui.framework.event
java.lang
java.util
org.apache.commons.lang

info.magnolia.ui.framework.view

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
13100.0%75.0%75.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.view.View
info.magnolia.ui.framework.view.ViewPort
Noneinfo.magnolia.ui.framework.app
com.vaadin.ui
java.io
java.lang

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.

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.