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.framework550060.0%100.0%0.0%1
info.magnolia.ui.framework.action383530358.0%100.0%8.0%1
info.magnolia.ui.framework.app161601340.0%97.0%3.0%1
info.magnolia.ui.framework.app.embedded43101125.0%100.0%25.0%1
info.magnolia.ui.framework.config110040.0%100.0%0.0%1
info.magnolia.ui.framework.context10125100.0%71.0%71.0%1
info.magnolia.ui.framework.favorite220050.0%100.0%0.0%1
info.magnolia.ui.framework.i18n1100110.0%100.0%0.0%1
info.magnolia.ui.framework.message1411321521.0%88.0%10.0%1
info.magnolia.ui.framework.overlay8713912.0%75.0%12.0%1
info.magnolia.ui.framework.setup4400150.0%100.0%0.0%1
info.magnolia.ui.framework.shell65101917.0%100.0%17.0%1

Packages

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

info.magnolia.ui.framework

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
060.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.AdmincentralNodeTypes
info.magnolia.ui.framework.AdmincentralNodeTypes$Favorite
info.magnolia.ui.framework.AdmincentralNodeTypes$FavoriteGroup
info.magnolia.ui.framework.AdmincentralNodeTypes$SystemMessage
info.magnolia.ui.framework.UiFrameworkModule
Noneinfo.magnolia.module
info.magnolia.ui.api.app.launcherlayout
info.magnolia.ui.api.app.registry
info.magnolia.ui.dialog.registry
info.magnolia.ui.form.fieldtype.registry
java.lang

info.magnolia.ui.framework.action

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0358.0%100.0%8.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.action.AbstractMultiItemAction
info.magnolia.ui.framework.action.AbstractRepositoryAction
info.magnolia.ui.framework.action.AbstractVersionAction
info.magnolia.ui.framework.action.AbstractCommandAction
info.magnolia.ui.framework.action.AbstractMultiItemAction$1
info.magnolia.ui.framework.action.AbstractVersionAction$1
info.magnolia.ui.framework.action.ActivationAction
info.magnolia.ui.framework.action.ActivationActionDefinition
info.magnolia.ui.framework.action.AddFolderActionDefinition
info.magnolia.ui.framework.action.AddNodeAction
info.magnolia.ui.framework.action.AddNodeActionDefinition
info.magnolia.ui.framework.action.AddPropertyAction
info.magnolia.ui.framework.action.AddPropertyActionDefinition
info.magnolia.ui.framework.action.ConfirmationAction
info.magnolia.ui.framework.action.ConfirmationAction$1
info.magnolia.ui.framework.action.ConfirmationActionDefinition
info.magnolia.ui.framework.action.DeactivationAction
info.magnolia.ui.framework.action.DeactivationActionDefinition
info.magnolia.ui.framework.action.DeleteAction
info.magnolia.ui.framework.action.DeleteActionDefinition
info.magnolia.ui.framework.action.DeleteItemAction
info.magnolia.ui.framework.action.DeleteItemAction$1
info.magnolia.ui.framework.action.DeleteItemActionDefinition
info.magnolia.ui.framework.action.DuplicateNodeAction
info.magnolia.ui.framework.action.DuplicateNodeActionDefinition
info.magnolia.ui.framework.action.ExportAction
info.magnolia.ui.framework.action.ExportAction$1
info.magnolia.ui.framework.action.ExportAction$DeleteOnCloseFileInputStream
info.magnolia.ui.framework.action.ExportActionDefinition
info.magnolia.ui.framework.action.MarkNodeAsDeletedAction
info.magnolia.ui.framework.action.MarkNodeAsDeletedActionDefinition
info.magnolia.ui.framework.action.MoveLocation
info.magnolia.ui.framework.action.OpenCreateDialogAction
info.magnolia.ui.framework.action.OpenCreateDialogAction$1
info.magnolia.ui.framework.action.OpenCreateDialogActionDefinition
info.magnolia.ui.framework.action.OpenEditDialogAction
info.magnolia.ui.framework.action.OpenEditDialogAction$1
info.magnolia.ui.framework.action.OpenEditDialogActionDefinition
Nonecom.google.common.collect
com.vaadin.data
com.vaadin.data.util
com.vaadin.server
info.magnolia.cms.core
info.magnolia.cms.core.version
info.magnolia.cms.exchange
info.magnolia.cms.security
info.magnolia.commands
info.magnolia.commands.chain
info.magnolia.commands.impl
info.magnolia.context
info.magnolia.event
info.magnolia.i18nsystem
info.magnolia.jcr
info.magnolia.jcr.util
info.magnolia.ui.api.action
info.magnolia.ui.api.app
info.magnolia.ui.api.context
info.magnolia.ui.api.event
info.magnolia.ui.api.location
info.magnolia.ui.api.overlay
info.magnolia.ui.dialog.definition
info.magnolia.ui.dialog.formdialog
info.magnolia.ui.form
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.vaadin.overlay
java.io
java.lang
java.text
java.util
javax.jcr
org.apache.commons.io
org.apache.commons.lang
org.slf4j

info.magnolia.ui.framework.app

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1340.0%97.0%3.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.app.AppControllerImpl
info.magnolia.ui.framework.app.AppControllerImpl$1
info.magnolia.ui.framework.app.AppInstanceControllerImpl
info.magnolia.ui.framework.app.AppInstanceControllerImpl$1
info.magnolia.ui.framework.app.AppInstanceControllerImpl$2
info.magnolia.ui.framework.app.AppInstanceControllerImpl$SubAppDetails
info.magnolia.ui.framework.app.BaseApp
info.magnolia.ui.framework.app.BaseSubApp
info.magnolia.ui.framework.app.DefaultAppView
info.magnolia.ui.framework.app.DefaultAppView$1
info.magnolia.ui.framework.app.DefaultAppView$2
info.magnolia.ui.framework.app.DefaultAppView$3
info.magnolia.ui.framework.app.DefaultLocationHistoryMapper
info.magnolia.ui.framework.app.SubAppActionExecutor
info.magnolia.ui.framework.app.SubAppContextImpl
info.magnolia.ui.framework.app.SubAppContextImpl$1
info.magnolia.ui.framework.app.embedded
com.google.inject.binder
com.google.inject.name
com.google.inject.util
com.vaadin.server
com.vaadin.ui
info.magnolia.event
info.magnolia.i18nsystem
info.magnolia.module
info.magnolia.monitoring
info.magnolia.objectfactory
info.magnolia.objectfactory.configuration
info.magnolia.objectfactory.guice
info.magnolia.registry
info.magnolia.ui.api.action
info.magnolia.ui.api.app
info.magnolia.ui.api.app.launcherlayout
info.magnolia.ui.api.app.registry
info.magnolia.ui.api.context
info.magnolia.ui.api.location
info.magnolia.ui.api.message
info.magnolia.ui.api.overlay
info.magnolia.ui.api.shell
info.magnolia.ui.api.view
info.magnolia.ui.framework.context
info.magnolia.ui.framework.message
info.magnolia.ui.framework.overlay
info.magnolia.ui.vaadin.overlay
info.magnolia.ui.vaadin.tabsheet
java.lang
java.util
java.util.concurrent
org.apache.commons.lang
org.slf4j
org.vaadin.cssinject

info.magnolia.ui.framework.app.embedded

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01125.0%100.0%25.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.app.embedded.EmbeddedPageView
info.magnolia.ui.framework.app.embedded.EmbeddedPageSubApp
info.magnolia.ui.framework.app.embedded.EmbeddedPageSubAppDescriptor
info.magnolia.ui.framework.app.embedded.EmbeddedPageViewImpl
Nonecom.vaadin.server
com.vaadin.ui
info.magnolia.context
info.magnolia.ui.api.app
info.magnolia.ui.api.app.registry
info.magnolia.ui.api.location
info.magnolia.ui.api.view
info.magnolia.ui.framework.app
java.lang
org.apache.commons.lang
org.slf4j

info.magnolia.ui.framework.config

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
040.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.config.UiConfig
Noneinfo.magnolia.ui.api.action.config
info.magnolia.ui.dialog.config
info.magnolia.ui.form.config
java.lang

info.magnolia.ui.framework.context

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
25100.0%71.0%71.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.context.AbstractUIContext
Noneinfo.magnolia.ui.framework.app
info.magnolia.ui.framework.shell
info.magnolia.ui.api.context
info.magnolia.ui.api.overlay
info.magnolia.ui.api.view
info.magnolia.ui.framework.overlay
java.lang

info.magnolia.ui.framework.favorite

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
050.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.favorite.FavoriteStore
info.magnolia.ui.framework.favorite.FavoriteStore$1
Noneinfo.magnolia.cms.security
info.magnolia.context
java.lang
javax.jcr
org.apache.jackrabbit.commons

info.magnolia.ui.framework.i18n

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0110.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.i18n.DefaultI18NAuthoringSupport
Nonecom.vaadin.data
com.vaadin.data.util
com.vaadin.ui
info.magnolia.cms.i18n
info.magnolia.link
info.magnolia.objectfactory
info.magnolia.ui.api.i18n
info.magnolia.ui.form.field.transformer
java.lang
java.util
javax.jcr

info.magnolia.ui.framework.message

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
21521.0%88.0%10.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.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.MessageStore$5
info.magnolia.ui.framework.message.MessageStore$6
info.magnolia.ui.framework.message.MessagesManagerImpl
info.magnolia.ui.framework.message.Node2MapUtil
info.magnolia.ui.framework.app
info.magnolia.ui.framework.shell
com.google.common.collect
com.vaadin.server
info.magnolia.cms.security
info.magnolia.context
info.magnolia.event
info.magnolia.jcr.node2bean
info.magnolia.jcr.util
info.magnolia.objectfactory
info.magnolia.ui.api.message
java.lang
java.util
javax.inject
javax.jcr
org.apache.jackrabbit.commons
org.slf4j

info.magnolia.ui.framework.overlay

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
3912.0%75.0%12.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.overlay.OverlayPresenter
info.magnolia.ui.framework.overlay.OverlayPresenter$1
info.magnolia.ui.framework.overlay.OverlayPresenter$2
info.magnolia.ui.framework.overlay.OverlayPresenter$3
info.magnolia.ui.framework.overlay.OverlayPresenter$4
info.magnolia.ui.framework.overlay.OverlayPresenter$5
info.magnolia.ui.framework.overlay.OverlayPresenter$6
info.magnolia.ui.framework.overlay.ViewAdapter
info.magnolia.ui.framework.app
info.magnolia.ui.framework.context
info.magnolia.ui.framework.shell
com.vaadin.event
com.vaadin.shared.ui.label
com.vaadin.ui
info.magnolia.objectfactory
info.magnolia.ui.api.overlay
info.magnolia.ui.api.view
info.magnolia.ui.vaadin.dialog
info.magnolia.ui.vaadin.icon
java.lang

info.magnolia.ui.framework.setup

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0150.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.setup.ReplaceMultiLinkFieldDefinitionTask
info.magnolia.ui.framework.setup.ReplaceSaveModeTypeFieldDefinitionTask
info.magnolia.ui.framework.setup.UiFrameworkModuleVersionHandler
info.magnolia.ui.framework.setup.UiFrameworkModuleVersionHandler$RenameLegacyI18nNodeIfExistingTask
Noneinfo.magnolia.i18nsystem.setup
info.magnolia.jcr.util
info.magnolia.module
info.magnolia.module.delta
info.magnolia.nodebuilder
info.magnolia.nodebuilder.task
info.magnolia.ui.dialog.action
info.magnolia.ui.form.field.definition
info.magnolia.ui.form.field.factory
info.magnolia.ui.form.field.transformer.multi
java.lang
java.util
javax.jcr
org.apache.commons.lang
org.slf4j

info.magnolia.ui.framework.shell

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01917.0%100.0%17.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.shell.ShellImpl$ShellAppLocationProvider
info.magnolia.ui.framework.shell.ShellImpl
info.magnolia.ui.framework.shell.ShellImpl$1
info.magnolia.ui.framework.shell.ShellImpl$2
info.magnolia.ui.framework.shell.ShellImpl$3
info.magnolia.ui.framework.shell.ShellImpl$4
Nonecom.vaadin.ui
info.magnolia.cms.security
info.magnolia.context
info.magnolia.event
info.magnolia.ui.api.app
info.magnolia.ui.api.location
info.magnolia.ui.api.message
info.magnolia.ui.api.overlay
info.magnolia.ui.api.shell
info.magnolia.ui.api.view
info.magnolia.ui.framework.context
info.magnolia.ui.framework.message
info.magnolia.ui.framework.overlay
info.magnolia.ui.vaadin.gwt.client.shared.magnoliashell
info.magnolia.ui.vaadin.magnoliashell
info.magnolia.ui.vaadin.magnoliashell.viewport
java.lang
java.util
org.apache.commons.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.