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.action464330447.0%100.0%7.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.availability5500120.0%100.0%0.0%1
info.magnolia.ui.framework.availability.shorthandrules7701110.0%92.0%8.0%1
info.magnolia.ui.framework.command2200170.0%100.0%0.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.message1411331521.0%83.0%5.0%1
info.magnolia.ui.framework.overlay111013109.0%77.0%14.0%1
info.magnolia.ui.framework.setup5500160.0%100.0%0.0%1
info.magnolia.ui.framework.shell65101917.0%100.0%17.0%1
info.magnolia.ui.framework.task43101325.0%100.0%25.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
0447.0%100.0%7.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.AbstractCommandAction$CommandActionTriggerListener
info.magnolia.ui.framework.action.AbstractCommandAction$CommandActionTriggerListener$1
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.DownloadBinaryAction
info.magnolia.ui.framework.action.DownloadBinaryAction$1
info.magnolia.ui.framework.action.DownloadBinaryActionDefinition
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.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
info.magnolia.ui.framework.action.OpenLocationAction
info.magnolia.ui.framework.action.OpenLocationActionDefinition
info.magnolia.ui.framework.action.ZipUploadActionDefinition
info.magnolia.ui.framework.action.ZipUploadDialogAction
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.module
info.magnolia.objectfactory
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.message
info.magnolia.ui.api.overlay
info.magnolia.ui.dialog.definition
info.magnolia.ui.dialog.formdialog
info.magnolia.ui.form
info.magnolia.ui.framework.message
info.magnolia.ui.vaadin.integration.contentconnector
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.vaadin.overlay
java.io
java.lang
java.lang.reflect
java.text
java.util
java.util.concurrent.atomic
javax.jcr
org.apache.commons.io
org.apache.commons.lang3
org.apache.jackrabbit.value
org.quartz
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.lang3
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.lang3
org.slf4j

info.magnolia.ui.framework.availability

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0120.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.availability.AvailabilityCheckerImpl
info.magnolia.ui.framework.availability.HasVersionsRule
info.magnolia.ui.framework.availability.IsDeletedRule
info.magnolia.ui.framework.availability.IsNotDeletedRule
info.magnolia.ui.framework.availability.IsNotVersionedRule
Noneinfo.magnolia.cms.core.version
info.magnolia.jcr.util
info.magnolia.objectfactory
info.magnolia.ui.api.availability
info.magnolia.ui.framework.availability.shorthandrules
info.magnolia.ui.vaadin.integration.contentconnector
info.magnolia.ui.vaadin.integration.jcr
java.lang
java.util
javax.jcr
javax.jcr.version
org.slf4j

info.magnolia.ui.framework.availability.shorthandrules

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1110.0%92.0%8.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.availability.shorthandrules.AccessGrantedRule
info.magnolia.ui.framework.availability.shorthandrules.JcrNodeTypesAllowedRule
info.magnolia.ui.framework.availability.shorthandrules.JcrNodesAllowedRule
info.magnolia.ui.framework.availability.shorthandrules.JcrPropertiesAllowedRule
info.magnolia.ui.framework.availability.shorthandrules.JcrRootAllowedRule
info.magnolia.ui.framework.availability.shorthandrules.MultipleItemsAllowedRule
info.magnolia.ui.framework.availability.shorthandrules.WritePermissionRequiredRule
info.magnolia.ui.framework.availability
info.magnolia.cms.security
info.magnolia.cms.security.operations
info.magnolia.context
info.magnolia.jcr.util
info.magnolia.ui.api.availability
info.magnolia.ui.vaadin.integration.jcr
java.lang
java.util
javax.jcr
org.apache.commons.collections
org.slf4j

info.magnolia.ui.framework.command

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0170.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneinfo.magnolia.ui.framework.command.ImportZipCommand
info.magnolia.ui.framework.command.ImportZipCommand$1
Noneinfo.magnolia.cms.beans.config
info.magnolia.cms.core
info.magnolia.commands.impl
info.magnolia.context
info.magnolia.i18nsystem
info.magnolia.jcr.util
info.magnolia.ui.form.field.upload
java.io
java.lang
java.util
javax.jcr
org.apache.commons.collections
org.apache.commons.compress.archivers.zip
org.apache.commons.io
org.apache.commons.lang3
org.slf4j
org.vaadin.easyuploads

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.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
org.apache.commons.lang3

info.magnolia.ui.framework.message

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
31521.0%83.0%5.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.action
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
3109.0%77.0%14.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.OverlayPresenter$7
info.magnolia.ui.framework.overlay.OverlayPresenter$8
info.magnolia.ui.framework.overlay.OverlayPresenter$9
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.server
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
0160.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.SetWritePermissionForActionsTask
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.dialog.setup.migration
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.lang3
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.lang3

info.magnolia.ui.framework.task

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01325.0%100.0%25.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.framework.task.TaskEventDispatcher
info.magnolia.ui.framework.task.LocalTaskDispatcher
info.magnolia.ui.framework.task.LocalTaskDispatcher$1
info.magnolia.ui.framework.task.LocalTaskDispatcherManager
Nonecom.google.common.collect
com.vaadin.server
info.magnolia.cms.security
info.magnolia.context
info.magnolia.event
info.magnolia.objectfactory
info.magnolia.task
info.magnolia.task.event
java.lang
java.util
javax.inject
org.apache.commons.lang3
org.slf4j

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.