magnolia-ui-api Version: 5.0 Last Published: Jun 19, 2013

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.api10101100.0%100.0%100.0%1
info.magnolia.ui.api.action83501062.0%100.0%62.0%1
info.magnolia.ui.api.app1841421278.0%86.0%63.0%1
info.magnolia.ui.api.app.launcherlayout149501136.0%100.0%36.0%1
info.magnolia.ui.api.app.registry1210211517.0%94.0%10.0%1
info.magnolia.ui.api.availability6331650.0%86.0%36.0%1
info.magnolia.ui.api.context10122100.0%50.0%50.0%1
info.magnolia.ui.api.event4130275.0%100.0%75.0%1
info.magnolia.ui.api.i18n20205100.0%100.0%100.0%1
info.magnolia.ui.api.location139411031.0%91.0%22.0%1
info.magnolia.ui.api.message330140.0%80.0%20.0%1
info.magnolia.ui.api.overlay8263275.0%40.0%15.000001%1
info.magnolia.ui.api.shell4131675.0%86.0%61.0%1
info.magnolia.ui.api.view20233100.0%50.0%50.0%1

Packages

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

info.magnolia.ui.api

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.ModelConstants
NoneNonejava.lang

info.magnolia.ui.api.action

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01062.0%100.0%62.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.action.AbstractAction
info.magnolia.ui.api.action.AbstractActionExecutor
info.magnolia.ui.api.action.Action
info.magnolia.ui.api.action.ActionDefinition
info.magnolia.ui.api.action.ActionExecutor
info.magnolia.ui.api.action.ActionExecutionException
info.magnolia.ui.api.action.CommandActionDefinition
info.magnolia.ui.api.action.ConfiguredActionDefinition
Noneinfo.magnolia.cms.security.operations
info.magnolia.context
info.magnolia.jcr.util
info.magnolia.objectfactory
info.magnolia.ui.api.availability
java.lang
java.util
javax.jcr
org.apache.commons.lang.builder
org.slf4j

info.magnolia.ui.api.app

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
21278.0%86.0%63.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.app.App
info.magnolia.ui.api.app.AppContext
info.magnolia.ui.api.app.AppController
info.magnolia.ui.api.app.AppDescriptor
info.magnolia.ui.api.app.AppEventBus
info.magnolia.ui.api.app.AppInstanceController
info.magnolia.ui.api.app.AppLifecycleEventHandler
info.magnolia.ui.api.app.AppView
info.magnolia.ui.api.app.AppView$Listener
info.magnolia.ui.api.app.ItemChosenListener
info.magnolia.ui.api.app.SubApp
info.magnolia.ui.api.app.SubAppContext
info.magnolia.ui.api.app.SubAppDescriptor
info.magnolia.ui.api.app.SubAppEventBus
info.magnolia.ui.api.app.AppLifecycleEvent
info.magnolia.ui.api.app.AppLifecycleEvent$1
info.magnolia.ui.api.app.AppLifecycleEventHandler$Adapter
info.magnolia.ui.api.app.AppLifecycleEventType
info.magnolia.ui.api.app.launcherlayout
info.magnolia.ui.api.app.registry
com.vaadin.data
info.magnolia.cms.security.operations
info.magnolia.event
info.magnolia.objectfactory
info.magnolia.ui.api.context
info.magnolia.ui.api.location
info.magnolia.ui.api.message
info.magnolia.ui.api.overlay
info.magnolia.ui.api.view
java.io
java.lang
java.util

info.magnolia.ui.api.app.launcherlayout

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01136.0%100.0%36.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.app.launcherlayout.AppLauncherGroupDefinition
info.magnolia.ui.api.app.launcherlayout.AppLauncherGroupEntryDefinition
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayoutChangedEventHandler
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayoutDefinition
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayoutManager
info.magnolia.ui.api.app.launcherlayout.AppLauncherGroup
info.magnolia.ui.api.app.launcherlayout.AppLauncherGroupEntry
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayout
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayoutChangedEvent
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayoutManagerImpl
info.magnolia.ui.api.app.launcherlayout.AppLauncherLayoutManagerImpl$1
info.magnolia.ui.api.app.launcherlayout.ConfiguredAppLauncherGroupDefinition
info.magnolia.ui.api.app.launcherlayout.ConfiguredAppLauncherGroupEntryDefinition
info.magnolia.ui.api.app.launcherlayout.ConfiguredAppLauncherLayoutDefinition
Noneinfo.magnolia.cms.security.operations
info.magnolia.context
info.magnolia.event
info.magnolia.registry
info.magnolia.ui.api.app
info.magnolia.ui.api.app.registry
java.lang
java.util
java.util.concurrent.atomic
org.apache.commons.lang
org.slf4j

info.magnolia.ui.api.app.registry

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

info.magnolia.ui.api.availability

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1650.0%86.0%36.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.availability.AbstractAvailabilityRule
info.magnolia.ui.api.availability.AvailabilityDefinition
info.magnolia.ui.api.availability.AvailabilityRule
info.magnolia.ui.api.availability.ConfiguredAvailabilityDefinition
info.magnolia.ui.api.availability.IsDeletedRule
info.magnolia.ui.api.availability.IsNotDeletedRule
info.magnolia.ui.api.action
info.magnolia.cms.security.operations
info.magnolia.jcr.util
java.lang
java.util
javax.jcr
org.slf4j

info.magnolia.ui.api.context

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
22100.0%50.0%50.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.context.UiContext
Noneinfo.magnolia.ui.api.app
info.magnolia.ui.api.shell
info.magnolia.ui.api.overlay
java.lang

info.magnolia.ui.api.event

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0275.0%100.0%75.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.event.AdmincentralEventBus
info.magnolia.ui.api.event.ChooseDialogEventBus
info.magnolia.ui.api.event.ContentChangedEvent$Handler
info.magnolia.ui.api.event.ContentChangedEvent
Noneinfo.magnolia.event
java.lang

info.magnolia.ui.api.i18n

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
05100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.i18n.I18NAuthoringSupport
info.magnolia.ui.api.i18n.I18NAwareProperty
NoneNonecom.vaadin.data
com.vaadin.ui
java.lang
java.util
javax.jcr

info.magnolia.ui.api.location

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
11031.0%91.0%22.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.location.Location
info.magnolia.ui.api.location.LocationChangeRequestedEvent$Handler
info.magnolia.ui.api.location.LocationChangedEvent$Handler
info.magnolia.ui.api.location.LocationHistoryMapper
info.magnolia.ui.api.location.DefaultLocation
info.magnolia.ui.api.location.Location$1
info.magnolia.ui.api.location.LocationChangeRequestedEvent
info.magnolia.ui.api.location.LocationChangedEvent
info.magnolia.ui.api.location.LocationController
info.magnolia.ui.api.location.LocationController$1
info.magnolia.ui.api.location.LocationHistoryHandler
info.magnolia.ui.api.location.LocationHistoryHandler$1
info.magnolia.ui.api.location.LocationHistoryHandler$2
info.magnolia.ui.api.app
info.magnolia.cms.core
info.magnolia.context
info.magnolia.event
info.magnolia.ui.api.shell
java.io
java.lang
java.net
java.util
org.apache.commons.lang
org.slf4j

info.magnolia.ui.api.message

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
140.0%80.0%20.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.api.message.Message
info.magnolia.ui.api.message.MessageType
info.magnolia.ui.api.message.MessageType$1
info.magnolia.ui.api.app
info.magnolia.cms.security
info.magnolia.context
java.lang
java.util

info.magnolia.ui.api.overlay

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
3275.0%40.0%15.000001%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.overlay.AlertCallback
info.magnolia.ui.api.overlay.ConfirmationCallback
info.magnolia.ui.api.overlay.MessageStyleType
info.magnolia.ui.api.overlay.NotificationCallback
info.magnolia.ui.api.overlay.OverlayCloser
info.magnolia.ui.api.overlay.OverlayLayer
info.magnolia.ui.api.overlay.OverlayLayer$ModalityDomain
info.magnolia.ui.api.overlay.OverlayLayer$ModalityLevel
info.magnolia.ui.api.app
info.magnolia.ui.api.context
info.magnolia.ui.api.shell
info.magnolia.ui.api.view
java.lang

info.magnolia.ui.api.shell

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1675.0%86.0%61.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.shell.ConfirmationHandler
info.magnolia.ui.api.shell.FragmentChangedHandler
info.magnolia.ui.api.shell.Shell
info.magnolia.ui.api.shell.FragmentChangedEvent
info.magnolia.ui.api.location
info.magnolia.event
info.magnolia.ui.api.context
info.magnolia.ui.api.overlay
info.magnolia.ui.api.view
java.lang
java.util

info.magnolia.ui.api.view

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
33100.0%50.0%50.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.api.view.View
info.magnolia.ui.api.view.Viewport
Noneinfo.magnolia.ui.api.app
info.magnolia.ui.api.overlay
info.magnolia.ui.api.shell
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.