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.workbench1811742739.0%87.0%26.0%1
info.magnolia.ui.workbench.column43111225.0%92.0%17.0%1
info.magnolia.ui.workbench.column.definition106451040.0%67.0%7.0%1
info.magnolia.ui.workbench.container64231133.0%79.0%12.0%1
info.magnolia.ui.workbench.definition6337550.0%42.0%8.0%1
info.magnolia.ui.workbench.event15782852.999996%80.0%33.0%1
info.magnolia.ui.workbench.list98121411.0%88.0%1.0%1
info.magnolia.ui.workbench.search54111220.0%92.0%12.0%1
info.magnolia.ui.workbench.thumbnail109101810.0%100.0%10.0%1
info.magnolia.ui.workbench.tree1816232411.0%89.0%0.0%1
info.magnolia.ui.workbench.tree.drop65111217.0%92.0%9.0%1

Packages

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

info.magnolia.ui.workbench

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
42739.0%87.0%26.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.AbstractContentPresenter
info.magnolia.ui.workbench.ContentPresenter
info.magnolia.ui.workbench.ContentView
info.magnolia.ui.workbench.ContentView$Listener
info.magnolia.ui.workbench.StatusBarView
info.magnolia.ui.workbench.WorkbenchView
info.magnolia.ui.workbench.WorkbenchView$Listener
info.magnolia.ui.workbench.StatusBarViewImpl
info.magnolia.ui.workbench.WorkbenchPresenter
info.magnolia.ui.workbench.WorkbenchStatusBarPresenter
info.magnolia.ui.workbench.WorkbenchStatusBarPresenter$1
info.magnolia.ui.workbench.WorkbenchViewImpl
info.magnolia.ui.workbench.WorkbenchViewImpl$1
info.magnolia.ui.workbench.WorkbenchViewImpl$2
info.magnolia.ui.workbench.WorkbenchViewImpl$3
info.magnolia.ui.workbench.WorkbenchViewImpl$4
info.magnolia.ui.workbench.WorkbenchViewImpl$5
info.magnolia.ui.workbench.WorkbenchViewImpl$6
info.magnolia.ui.workbench.list
info.magnolia.ui.workbench.search
info.magnolia.ui.workbench.thumbnail
info.magnolia.ui.workbench.tree
com.vaadin.data
com.vaadin.event
com.vaadin.server
com.vaadin.shared.ui
com.vaadin.ui
info.magnolia.context
info.magnolia.event
info.magnolia.i18nsystem
info.magnolia.jcr.util
info.magnolia.objectfactory
info.magnolia.ui.api.view
info.magnolia.ui.imageprovider
info.magnolia.ui.imageprovider.definition
info.magnolia.ui.vaadin.icon
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.event
info.magnolia.ui.workbench.search
info.magnolia.ui.workbench.tree
java.io
java.lang
java.util
javax.jcr
javax.jcr.nodetype
org.apache.commons.lang
org.slf4j

info.magnolia.ui.workbench.column

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
11225.0%92.0%17.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.column.AbstractColumnFormatter
info.magnolia.ui.workbench.column.DateColumnFormatter
info.magnolia.ui.workbench.column.PathColumnFormatter
info.magnolia.ui.workbench.column.StatusColumnFormatter
info.magnolia.ui.workbench.column.definition
com.vaadin.data
com.vaadin.ui
info.magnolia.context
info.magnolia.jcr.util
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench.column.definition
java.lang
java.security
java.util
javax.jcr
org.apache.commons.lang.time
org.slf4j

info.magnolia.ui.workbench.column.definition

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
51040.0%67.0%7.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.column.definition.AbstractColumnDefinition
info.magnolia.ui.workbench.column.definition.ColumnAvailabilityRule
info.magnolia.ui.workbench.column.definition.ColumnDefinition
info.magnolia.ui.workbench.column.definition.ColumnFormatter
info.magnolia.ui.workbench.column.definition.ColumnDefinitionKeyGenerator
info.magnolia.ui.workbench.column.definition.MetaDataColumnDefinition
info.magnolia.ui.workbench.column.definition.OnAuthorOrWhenThereIsSubscribersRule
info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition
info.magnolia.ui.workbench.column.definition.PropertyTypeColumnDefinition
info.magnolia.ui.workbench.column.definition.StatusColumnDefinition
info.magnolia.ui.workbench
info.magnolia.ui.workbench.column
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.list
info.magnolia.ui.workbench.tree
com.vaadin.ui
info.magnolia.cms.beans.config
info.magnolia.cms.exchange
info.magnolia.i18nsystem
info.magnolia.ui.api.app
info.magnolia.ui.workbench.column
info.magnolia.ui.workbench.definition
java.lang
java.lang.reflect
java.util

info.magnolia.ui.workbench.container

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
31133.0%79.0%12.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.container.AbstractContainer
info.magnolia.ui.workbench.container.AbstractJcrContainer
info.magnolia.ui.workbench.container.AbstractContainer$ItemSetChangeEvent
info.magnolia.ui.workbench.container.AbstractContainer$PropertySetChangeEvent
info.magnolia.ui.workbench.container.OrderBy
info.magnolia.ui.workbench.container.PropertyDefinition
info.magnolia.ui.workbench.list
info.magnolia.ui.workbench.search
info.magnolia.ui.workbench.tree
com.vaadin.data
info.magnolia.context
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench.definition
java.lang
java.util
javax.jcr
javax.jcr.nodetype
javax.jcr.query
org.apache.commons.lang
org.slf4j

info.magnolia.ui.workbench.definition

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
7550.0%42.0%8.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.definition.ContentPresenterDefinition
info.magnolia.ui.workbench.definition.NodeTypeDefinition
info.magnolia.ui.workbench.definition.WorkbenchDefinition
info.magnolia.ui.workbench.definition.ConfiguredContentPresenterDefinition
info.magnolia.ui.workbench.definition.ConfiguredNodeTypeDefinition
info.magnolia.ui.workbench.definition.ConfiguredWorkbenchDefinition
info.magnolia.ui.workbench
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.container
info.magnolia.ui.workbench.list
info.magnolia.ui.workbench.search
info.magnolia.ui.workbench.thumbnail
info.magnolia.ui.workbench.tree
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.tree
java.io
java.lang
java.util

info.magnolia.ui.workbench.event

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2852.999996%80.0%33.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.event.ItemDoubleClickedEvent$Handler
info.magnolia.ui.workbench.event.ItemEditedEvent$Handler
info.magnolia.ui.workbench.event.ItemEditedEvent$Notifier
info.magnolia.ui.workbench.event.ItemRightClickedEvent$Handler
info.magnolia.ui.workbench.event.ItemShortcutKeyEvent$Handler
info.magnolia.ui.workbench.event.SearchEvent$Handler
info.magnolia.ui.workbench.event.SelectionChangedEvent$Handler
info.magnolia.ui.workbench.event.ViewTypeChangedEvent$Handler
info.magnolia.ui.workbench.event.ItemDoubleClickedEvent
info.magnolia.ui.workbench.event.ItemEditedEvent
info.magnolia.ui.workbench.event.ItemRightClickedEvent
info.magnolia.ui.workbench.event.ItemShortcutKeyEvent
info.magnolia.ui.workbench.event.SearchEvent
info.magnolia.ui.workbench.event.SelectionChangedEvent
info.magnolia.ui.workbench.event.ViewTypeChangedEvent
info.magnolia.ui.workbench
info.magnolia.ui.workbench.tree
com.vaadin.data
info.magnolia.event
info.magnolia.ui.vaadin.integration.jcr
java.io
java.lang
java.util
javax.jcr
org.slf4j

info.magnolia.ui.workbench.list

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
21411.0%88.0%1.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.list.ListView
info.magnolia.ui.workbench.list.FlatJcrContainer
info.magnolia.ui.workbench.list.ListPresenter
info.magnolia.ui.workbench.list.ListPresenterDefinition
info.magnolia.ui.workbench.list.ListViewImpl
info.magnolia.ui.workbench.list.ListViewImpl$1
info.magnolia.ui.workbench.list.ListViewImpl$2
info.magnolia.ui.workbench.list.ListViewImpl$3
info.magnolia.ui.workbench.list.ListViewImpl$4
info.magnolia.ui.workbench.search
info.magnolia.ui.workbench.tree
com.vaadin.data
com.vaadin.event
com.vaadin.shared
com.vaadin.ui
info.magnolia.event
info.magnolia.objectfactory
info.magnolia.ui.vaadin.grid
info.magnolia.ui.workbench
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.container
info.magnolia.ui.workbench.definition
java.lang
java.util
org.slf4j

info.magnolia.ui.workbench.search

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
11220.0%92.0%12.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.search.SearchView
info.magnolia.ui.workbench.search.SearchJcrContainer
info.magnolia.ui.workbench.search.SearchPresenter
info.magnolia.ui.workbench.search.SearchPresenterDefinition
info.magnolia.ui.workbench.search.SearchViewImpl
info.magnolia.ui.workbench
info.magnolia.objectfactory
info.magnolia.ui.workbench
info.magnolia.ui.workbench.container
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.list
java.lang
java.util
java.util.regex
javax.jcr.nodetype
org.apache.commons.lang
org.apache.jackrabbit.util
org.slf4j

info.magnolia.ui.workbench.thumbnail

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
01810.0%100.0%10.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.thumbnail.ThumbnailView
info.magnolia.ui.workbench.thumbnail.ThumbnailContainer
info.magnolia.ui.workbench.thumbnail.ThumbnailContainer$ThumbnailContainerProperty
info.magnolia.ui.workbench.thumbnail.ThumbnailContainer$ThumbnailItem
info.magnolia.ui.workbench.thumbnail.ThumbnailPresenter
info.magnolia.ui.workbench.thumbnail.ThumbnailPresenterDefinition
info.magnolia.ui.workbench.thumbnail.ThumbnailViewImpl
info.magnolia.ui.workbench.thumbnail.ThumbnailViewImpl$1
info.magnolia.ui.workbench.thumbnail.ThumbnailViewImpl$2
info.magnolia.ui.workbench.thumbnail.ThumbnailViewImpl$3
Nonecom.vaadin.data
com.vaadin.data.util
com.vaadin.ui
info.magnolia.context
info.magnolia.event
info.magnolia.jcr
info.magnolia.objectfactory
info.magnolia.ui.imageprovider
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.vaadin.layout
info.magnolia.ui.workbench
info.magnolia.ui.workbench.definition
java.lang
java.util
javax.jcr
javax.jcr.query
org.apache.commons.lang
org.slf4j

info.magnolia.ui.workbench.tree

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
32411.0%89.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.tree.TreeView
info.magnolia.ui.workbench.tree.TreeView$Listener
info.magnolia.ui.workbench.tree.HierarchicalJcrContainer
info.magnolia.ui.workbench.tree.HierarchicalJcrContainer$1
info.magnolia.ui.workbench.tree.HierarchicalJcrContainer$ItemNameComparator
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$1
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$2
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$InplaceEditingFieldFactory
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$InplaceEditingFieldFactory$1
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$InplaceEditingFieldFactory$2
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$StringToLongConverter
info.magnolia.ui.workbench.tree.InplaceEditingTreeTable$TableCell
info.magnolia.ui.workbench.tree.TreePresenter
info.magnolia.ui.workbench.tree.TreePresenterDefinition
info.magnolia.ui.workbench.tree.TreeViewImpl
info.magnolia.ui.workbench.tree.TreeViewImpl$1
info.magnolia.ui.workbench.tree.TreeViewImpl$EditingKeyboardHandler
info.magnolia.ui.workbench
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.tree.drop
com.vaadin.data
com.vaadin.data.util.converter
com.vaadin.event
com.vaadin.event.dd
com.vaadin.ui
info.magnolia.context
info.magnolia.event
info.magnolia.jcr.util
info.magnolia.objectfactory
info.magnolia.ui.vaadin.grid
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.container
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.event
info.magnolia.ui.workbench.list
info.magnolia.ui.workbench.tree.drop
java.lang
java.util
javax.jcr
javax.jcr.nodetype
org.apache.commons.lang
org.slf4j

info.magnolia.ui.workbench.tree.drop

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
11217.0%92.0%9.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
info.magnolia.ui.workbench.tree.drop.DropConstraint
info.magnolia.ui.workbench.tree.drop.AlwaysTrueDropConstraint
info.magnolia.ui.workbench.tree.drop.BaseDropConstraint
info.magnolia.ui.workbench.tree.drop.OnlyNodesDropConstraint
info.magnolia.ui.workbench.tree.drop.TreeViewDropHandler
info.magnolia.ui.workbench.tree.drop.TreeViewDropHandler$1
info.magnolia.ui.workbench.tree
com.vaadin.data
com.vaadin.event
com.vaadin.event.dd
com.vaadin.event.dd.acceptcriteria
com.vaadin.shared.ui.dd
com.vaadin.ui
info.magnolia.ui.vaadin.integration.jcr
info.magnolia.ui.workbench.tree
java.lang
javax.jcr
javax.jcr.nodetype
org.slf4j

Cycles

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

PackagePackage Dependencies
info.magnolia.ui.workbenchinfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.columninfo.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.column.definitioninfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.containerinfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.definitioninfo.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.listinfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.searchinfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.thumbnailinfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.treeinfo.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.tree.dropinfo.magnolia.ui.workbench.tree
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition

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.