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
info.magnolia.pages.app.action 23 23 0 1 38 0.0% 97.0% 3.0% 1
info.magnolia.pages.app.availability 2 2 0 0 8 0.0% 100.0% 0.0% 1
info.magnolia.pages.app.column 2 2 0 0 12 0.0% 100.0% 0.0% 1
info.magnolia.pages.app.dnd 1 1 0 0 12 0.0% 100.0% 0.0% 1
info.magnolia.pages.app.editor 15 12 3 1 41 20.0% 98.0% 18.0% 1
info.magnolia.pages.app.editor.availability 17 16 1 0 6 6.0% 100.0% 6.0% 1
info.magnolia.pages.app.editor.event 4 2 2 2 3 50.0% 60.000004% 10.0% 1
info.magnolia.pages.app.editor.location 1 1 0 0 2 0.0% 100.0% 0.0% 1
info.magnolia.pages.app.field 4 4 0 1 12 0.0% 92.0% 8.0% 1
info.magnolia.pages.app.thumbnail 1 1 0 0 3 0.0% 100.0% 0.0% 1
info.magnolia.pages.setup 3 3 0 0 16 0.0% 100.0% 0.0% 1

Packages

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

info.magnolia.pages.app.action

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 38 0.0% 97.0% 3.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.app.action.CreateAreaAction
info.magnolia.pages.app.action.CreateAreaActionDefinition
info.magnolia.pages.app.action.CreateComponentAction
info.magnolia.pages.app.action.CreateComponentAction$1
info.magnolia.pages.app.action.CreateComponentAction$ComponentCreationCallback
info.magnolia.pages.app.action.CreateComponentActionDefinition
info.magnolia.pages.app.action.DeleteComponentAction
info.magnolia.pages.app.action.DeletePageItemAction
info.magnolia.pages.app.action.EditElementAction
info.magnolia.pages.app.action.EditElementAction$1
info.magnolia.pages.app.action.EditElementActionDefinition
info.magnolia.pages.app.action.EditPageAction
info.magnolia.pages.app.action.EditPageActionDefinition
info.magnolia.pages.app.action.MoveComponentAction
info.magnolia.pages.app.action.MoveComponentActionDefinition
info.magnolia.pages.app.action.PreviewPageAction
info.magnolia.pages.app.action.PreviewPageActionDefinition
info.magnolia.pages.app.action.PreviewPreviousVersionAction
info.magnolia.pages.app.action.PreviewPreviousVersionActionDefinition
info.magnolia.pages.app.action.RestorePreviousVersionAction
info.magnolia.pages.app.action.RestorePreviousVersionActionDefinition
info.magnolia.pages.app.action.SortComponentAction
info.magnolia.pages.app.action.SortComponentActionDefinition
info.magnolia.pages.setup
com.vaadin.data
info.magnolia.cms.core.version
info.magnolia.commands
info.magnolia.context
info.magnolia.event
info.magnolia.i18nsystem
info.magnolia.jcr.util
info.magnolia.objectfactory
info.magnolia.pages.app.editor.event
info.magnolia.pages.app.field
info.magnolia.registry
info.magnolia.rendering.template
info.magnolia.rendering.template.registry
info.magnolia.ui.admincentral.dialog.action
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.contentapp.browser.action
info.magnolia.ui.contentapp.detail
info.magnolia.ui.contentapp.detail.action
info.magnolia.ui.dialog
info.magnolia.ui.dialog.action
info.magnolia.ui.dialog.definition
info.magnolia.ui.dialog.formdialog
info.magnolia.ui.form
info.magnolia.ui.form.definition
info.magnolia.ui.form.field.definition
info.magnolia.ui.framework.action
info.magnolia.ui.vaadin.gwt.client.shared
info.magnolia.ui.vaadin.integration.jcr
java.lang
java.util
javax.jcr
javax.jcr.version
org.apache.commons.lang3
org.slf4j

info.magnolia.pages.app.availability

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 info.magnolia.pages.app.availability.PageHasSubpagesAndIsNotDeletedRule
info.magnolia.pages.app.availability.PageHasSubpagesRule
None info.magnolia.jcr.util
info.magnolia.ui.api.availability
info.magnolia.ui.framework.availability
info.magnolia.ui.vaadin.integration.jcr
java.lang
java.util
javax.jcr
org.slf4j

info.magnolia.pages.app.column

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.app.column.TemplateColumnDefinition
info.magnolia.pages.app.column.TemplateColumnFormatter
None com.vaadin.ui
info.magnolia.cms.i18n
info.magnolia.registry
info.magnolia.rendering.template
info.magnolia.rendering.template.assignment
info.magnolia.rendering.template.registry
info.magnolia.ui.workbench.column
info.magnolia.ui.workbench.column.definition
java.lang
java.text
javax.jcr
org.slf4j

info.magnolia.pages.app.dnd

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.app.dnd.TemplateTypeRestrictionDropConstraint
None com.vaadin.data
info.magnolia.jcr
info.magnolia.registry
info.magnolia.rendering.template
info.magnolia.rendering.template.assignment
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench.tree.drop
java.lang
java.util
javax.jcr
javax.jcr.nodetype
org.slf4j

info.magnolia.pages.app.editor

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 41 20.0% 98.0% 18.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
info.magnolia.pages.app.editor.PageEditorPresenter$Listener
info.magnolia.pages.app.editor.PagesEditorSubAppView
info.magnolia.pages.app.editor.PagesEditorSubAppView$Listener
info.magnolia.pages.app.editor.PageEditorPresenter
info.magnolia.pages.app.editor.PageEditorPresenter$1
info.magnolia.pages.app.editor.PageEditorPresenter$2
info.magnolia.pages.app.editor.PageEditorStatusBarViewImpl
info.magnolia.pages.app.editor.PagesEditorSubApp
info.magnolia.pages.app.editor.PagesEditorSubApp$1
info.magnolia.pages.app.editor.PagesEditorSubApp$2
info.magnolia.pages.app.editor.PagesEditorSubApp$3
info.magnolia.pages.app.editor.PagesEditorSubApp$4
info.magnolia.pages.app.editor.PagesEditorSubApp$5
info.magnolia.pages.app.editor.PagesEditorSubAppViewImpl
info.magnolia.pages.app.editor.PagesEditorSubAppViewImpl$1
info.magnolia.pages.app.editor.availability
com.vaadin.event
com.vaadin.server
com.vaadin.ui
info.magnolia.cms.beans.config
info.magnolia.cms.core
info.magnolia.cms.core.version
info.magnolia.cms.i18n
info.magnolia.context
info.magnolia.event
info.magnolia.i18nsystem
info.magnolia.jcr.util
info.magnolia.link
info.magnolia.objectfactory
info.magnolia.pages.app.editor.event
info.magnolia.ui.actionbar
info.magnolia.ui.actionbar.definition
info.magnolia.ui.api.action
info.magnolia.ui.api.app
info.magnolia.ui.api.availability
info.magnolia.ui.api.event
info.magnolia.ui.api.i18n
info.magnolia.ui.api.location
info.magnolia.ui.api.message
info.magnolia.ui.api.view
info.magnolia.ui.contentapp
info.magnolia.ui.contentapp.definition
info.magnolia.ui.contentapp.detail
info.magnolia.ui.framework.app
info.magnolia.ui.framework.i18n
info.magnolia.ui.vaadin.editor
info.magnolia.ui.vaadin.editor.gwt.shared
info.magnolia.ui.vaadin.editor.pagebar
info.magnolia.ui.vaadin.gwt.client.shared
info.magnolia.ui.vaadin.integration.contentconnector
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench
java.lang
java.util
javax.jcr
org.apache.commons.lang3
org.slf4j

info.magnolia.pages.app.editor.availability

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 6.0% 100.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
info.magnolia.pages.app.editor.availability.AbstractElementAvailabilityRule
info.magnolia.pages.app.editor.availability.IsAreaAddibleRule
info.magnolia.pages.app.editor.availability.IsAreaCreatedRule
info.magnolia.pages.app.editor.availability.IsAreaCreatedRuleDefinition
info.magnolia.pages.app.editor.availability.IsAreaEditableRule
info.magnolia.pages.app.editor.availability.IsAreaEditableRuleDefinition
info.magnolia.pages.app.editor.availability.IsAreaOptionalRule
info.magnolia.pages.app.editor.availability.IsComponentDeletableRule
info.magnolia.pages.app.editor.availability.IsComponentEditableRule
info.magnolia.pages.app.editor.availability.IsComponentMovableRule
info.magnolia.pages.app.editor.availability.IsComponentMovingRule
info.magnolia.pages.app.editor.availability.IsComponentMovingRuleDefinition
info.magnolia.pages.app.editor.availability.IsElementTypeRule
info.magnolia.pages.app.editor.availability.IsElementTypeRuleDefinition
info.magnolia.pages.app.editor.availability.IsPreviewRule
info.magnolia.pages.app.editor.availability.IsPreviewRuleDefinition
info.magnolia.pages.app.editor.availability.LocationNotVersionedRule
None info.magnolia.pages.app.editor
info.magnolia.ui.api.app
info.magnolia.ui.api.availability
info.magnolia.ui.contentapp.detail
info.magnolia.ui.vaadin.gwt.client.shared
java.lang

info.magnolia.pages.app.editor.event

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 3 50.0% 60.000004% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
info.magnolia.pages.app.editor.event.ComponentMoveEvent$Handler
info.magnolia.pages.app.editor.event.NodeSelectedEvent$Handler
info.magnolia.pages.app.editor.event.ComponentMoveEvent
info.magnolia.pages.app.editor.event.NodeSelectedEvent
info.magnolia.pages.app.action
info.magnolia.pages.app.editor
info.magnolia.event
info.magnolia.ui.vaadin.gwt.client.shared
java.lang

info.magnolia.pages.app.editor.location

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.app.editor.location.PagesLocation
None info.magnolia.ui.api.location
java.lang

info.magnolia.pages.app.field

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 12 0.0% 92.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.app.field.ComponentSelectorDefinition
info.magnolia.pages.app.field.ComponentSelectorFieldFactory
info.magnolia.pages.app.field.TemplateSelectorDefinition
info.magnolia.pages.app.field.TemplateSelectorFieldFactory
info.magnolia.pages.app.action
com.vaadin.data
info.magnolia.cms.i18n
info.magnolia.objectfactory
info.magnolia.rendering.template
info.magnolia.rendering.template.assignment
info.magnolia.ui.form.field.definition
info.magnolia.ui.form.field.factory
info.magnolia.ui.vaadin.integration.jcr
java.lang
java.util
javax.jcr
org.slf4j

info.magnolia.pages.app.thumbnail

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.app.thumbnail.PagesImageProvider
None info.magnolia.ui.imageprovider
info.magnolia.ui.imageprovider.definition
info.magnolia.ui.vaadin.integration.contentconnector

info.magnolia.pages.setup

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 16 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.pages.setup.PagesModuleVersionHandler
info.magnolia.pages.setup.UpdatePageEditorActionAvailability
info.magnolia.pages.setup.UpdatePageEditorActionAvailability$UpdateAreaSectionActionsTask
None info.magnolia.i18nsystem.setup
info.magnolia.jcr.util
info.magnolia.module
info.magnolia.module.delta
info.magnolia.nodebuilder
info.magnolia.nodebuilder.task
info.magnolia.pages.app.action
info.magnolia.ui.admincentral.setup
info.magnolia.ui.contentapp
info.magnolia.ui.contentapp.availability
info.magnolia.ui.contentapp.browser.action
info.magnolia.ui.contentapp.setup.for5_3
info.magnolia.ui.framework.setup
java.lang
java.util
javax.jcr

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.