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.dam.external.app 1 1 0 0 1 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.action 3 3 0 0 11 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.action.availability 2 2 0 0 4 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.contentconnector 3 2 1 3 9 33.0% 75.0% 8.0% 1
info.magnolia.dam.external.app.contentview 5 3 2 2 13 40.0% 87.0% 27.000002% 1
info.magnolia.dam.external.app.contentview.column 4 4 0 0 14 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.contentview.list 2 2 0 1 10 0.0% 91.0% 9.0% 1
info.magnolia.dam.external.app.contentview.thumbnail 3 3 0 0 9 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.contentview.tree 2 2 0 0 6 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.field 8 8 0 1 26 0.0% 96.0% 4.0% 1
info.magnolia.dam.external.app.field.definition 3 3 0 3 3 0.0% 50.0% 50.0% 1
info.magnolia.dam.external.app.field.factory 5 5 0 0 15 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.field.transformer 2 2 0 1 6 0.0% 86.0% 14.0% 1
info.magnolia.dam.external.app.imageprovider 2 2 0 0 10 0.0% 100.0% 0.0% 1
info.magnolia.dam.external.app.setup 1 1 0 0 1 0.0% 100.0% 0.0% 1

Packages

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

info.magnolia.dam.external.app

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.DamExternalAppConfiguration
None java.lang

info.magnolia.dam.external.app.action

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.action.DelegateAction
info.magnolia.dam.external.app.action.DelegateAction$1
info.magnolia.dam.external.app.action.DelegateActionDefinition
None com.vaadin.data.util
info.magnolia.dam.api
info.magnolia.i18nsystem
info.magnolia.objectfactory
info.magnolia.ui.api.action
info.magnolia.ui.api.app
info.magnolia.ui.api.context
info.magnolia.ui.vaadin.overlay
java.lang
java.util
org.slf4j

info.magnolia.dam.external.app.action.availability

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.action.availability.IsAssetRule
info.magnolia.dam.external.app.action.availability.IsAssetRuleDefinition
None info.magnolia.dam.api
info.magnolia.ui.api.availability
java.lang
org.slf4j

info.magnolia.dam.external.app.contentconnector

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 9 33.0% 75.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
info.magnolia.dam.external.app.contentconnector.AssetContentConnectorDefinition
info.magnolia.dam.external.app.contentconnector.AssetContentConnector
info.magnolia.dam.external.app.contentconnector.ConfiguredAssetContentConnectorDefinition
info.magnolia.dam.external.app.contentview
info.magnolia.dam.external.app.contentview.list
info.magnolia.dam.external.app.contentview.thumbnail
com.vaadin.data
com.vaadin.data.util
info.magnolia.dam.api
info.magnolia.objectfactory
info.magnolia.ui.vaadin.integration.contentconnector
java.lang
java.util.regex
org.apache.commons.lang3
org.slf4j

info.magnolia.dam.external.app.contentview

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 13 40.0% 87.0% 27.000002%
Abstract Classes Concrete Classes Used by Packages Uses Packages
info.magnolia.dam.external.app.contentview.AbstractAssetContainer
info.magnolia.dam.external.app.contentview.AssetProviderAwarePresenter
info.magnolia.dam.external.app.contentview.AbstractAssetContainer$BaseItemSetChangeEvent
info.magnolia.dam.external.app.contentview.FlatAssetContainer
info.magnolia.dam.external.app.contentview.HierarchicalAssetContainer
info.magnolia.dam.external.app.contentview.list
info.magnolia.dam.external.app.contentview.tree
com.vaadin.data
com.vaadin.data.util
info.magnolia.dam.api
info.magnolia.dam.api.metadata
info.magnolia.dam.external.app.contentconnector
info.magnolia.dam.jcr.metadata
info.magnolia.ui.workbench
info.magnolia.ui.workbench.container
java.io
java.lang
java.util
org.apache.commons.lang3
org.slf4j

info.magnolia.dam.external.app.contentview.column

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 14 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.contentview.column.AssetNameColumnDefinition
info.magnolia.dam.external.app.contentview.column.AssetNameColumnFormatter
info.magnolia.dam.external.app.contentview.column.AssetTypeColumnDefinition
info.magnolia.dam.external.app.contentview.column.AssetTypeColumnFormatter
None com.google.common.net
com.vaadin.data
com.vaadin.data.util
com.vaadin.ui
info.magnolia.cms.beans.config
info.magnolia.cms.util
info.magnolia.dam.api
info.magnolia.ui.vaadin.integration.contentconnector
info.magnolia.ui.workbench.column
info.magnolia.ui.workbench.column.definition
java.lang
org.apache.commons.lang
org.apache.commons.lang3
org.slf4j

info.magnolia.dam.external.app.contentview.list

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 10 0.0% 91.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.contentview.list.AssetListPresenter
info.magnolia.dam.external.app.contentview.list.AssetListPresenterDefinition
info.magnolia.dam.external.app.contentview.tree
com.vaadin.data
info.magnolia.dam.api
info.magnolia.dam.external.app.contentconnector
info.magnolia.dam.external.app.contentview
info.magnolia.objectfactory
info.magnolia.ui.workbench.column.definition
info.magnolia.ui.workbench.definition
info.magnolia.ui.workbench.list
java.lang
java.util

info.magnolia.dam.external.app.contentview.thumbnail

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.contentview.thumbnail.AssetThumbnailItemIdProvider
info.magnolia.dam.external.app.contentview.thumbnail.AssetThumbnailPresenter
info.magnolia.dam.external.app.contentview.thumbnail.AssetThumbnailPresenterDefinition
None com.vaadin.data
info.magnolia.dam.api
info.magnolia.dam.external.app.contentconnector
info.magnolia.objectfactory
info.magnolia.ui.imageprovider
info.magnolia.ui.workbench.thumbnail
java.lang
java.util
org.slf4j

info.magnolia.dam.external.app.contentview.tree

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.contentview.tree.AssetTreePresenter
info.magnolia.dam.external.app.contentview.tree.AssetTreePresenterDefinition
None info.magnolia.dam.external.app.contentview
info.magnolia.dam.external.app.contentview.list
info.magnolia.objectfactory
info.magnolia.ui.workbench.list
info.magnolia.ui.workbench.tree
java.lang

info.magnolia.dam.external.app.field

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 26 0.0% 96.0% 4.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.field.AssetCompositeIdKeyTranslator
info.magnolia.dam.external.app.field.AssetLinkField
info.magnolia.dam.external.app.field.AssetMediaField
info.magnolia.dam.external.app.field.AssetMediaField$1
info.magnolia.dam.external.app.field.AssetMediaField$2
info.magnolia.dam.external.app.field.AssetMediaField$3
info.magnolia.dam.external.app.field.AssetMetadataField
info.magnolia.dam.external.app.field.BeanToFieldDefinition
info.magnolia.dam.external.app.field.factory
com.vaadin.data
com.vaadin.data.util
com.vaadin.data.util.converter
com.vaadin.server
com.vaadin.shared.ui.label
com.vaadin.ui
info.magnolia.cms.beans.config
info.magnolia.cms.i18n
info.magnolia.dam.api
info.magnolia.dam.api.metadata
info.magnolia.dam.app.ui.field.configuration
info.magnolia.dam.external.app.field.definition
info.magnolia.objectfactory
info.magnolia.ui.form.field
info.magnolia.ui.form.field.converter
info.magnolia.ui.form.field.definition
info.magnolia.ui.form.field.factory
info.magnolia.ui.vaadin.integration
java.io
java.lang
java.lang.reflect
java.util
java.util.regex
org.apache.commons.lang
org.apache.commons.lang3
org.slf4j

info.magnolia.dam.external.app.field.definition

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 3 0.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.field.definition.AssetLinkFieldDefinition
info.magnolia.dam.external.app.field.definition.AssetMediaFieldDefinition
info.magnolia.dam.external.app.field.definition.AssetMetadataFieldDefinition
info.magnolia.dam.external.app.field
info.magnolia.dam.external.app.field.factory
info.magnolia.dam.external.app.field.transformer
info.magnolia.dam.external.app.field.transformer
info.magnolia.ui.form.field.definition
java.lang

info.magnolia.dam.external.app.field.factory

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 15 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.field.factory.AssetLinkFieldFactory
info.magnolia.dam.external.app.field.factory.AssetLinkFieldFactory$1
info.magnolia.dam.external.app.field.factory.AssetLinkFieldFactory$2
info.magnolia.dam.external.app.field.factory.AssetMediaFieldFactory
info.magnolia.dam.external.app.field.factory.AssetMetadataFieldFactory
None com.vaadin.data
com.vaadin.ui
info.magnolia.cms.i18n
info.magnolia.dam.api
info.magnolia.dam.api.metadata
info.magnolia.dam.external.app.field
info.magnolia.dam.external.app.field.definition
info.magnolia.objectfactory
info.magnolia.ui.api.app
info.magnolia.ui.api.context
info.magnolia.ui.form.field.definition
info.magnolia.ui.form.field.factory
java.lang
org.apache.commons.lang3
org.slf4j

info.magnolia.dam.external.app.field.transformer

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 6 0.0% 86.0% 14.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.field.transformer.AssetLinkFieldTransformer
info.magnolia.dam.external.app.field.transformer.AssetTransformer
info.magnolia.dam.external.app.field.definition
com.vaadin.data
com.vaadin.data.util
info.magnolia.dam.external.app.field.definition
info.magnolia.ui.form.field.definition
info.magnolia.ui.form.field.transformer.basic
java.lang

info.magnolia.dam.external.app.imageprovider

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.imageprovider.AssetImageProvider
info.magnolia.dam.external.app.imageprovider.AssetImageProvider$1
None com.google.common.net
com.vaadin.data.util
com.vaadin.server
info.magnolia.dam.api
info.magnolia.ui.imageprovider
info.magnolia.ui.vaadin.integration.contentconnector
java.io
java.lang
org.apache.commons.lang3
org.slf4j

info.magnolia.dam.external.app.setup

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None info.magnolia.dam.external.app.setup.DamExternalAppVersionHandler
None info.magnolia.module

Cycles

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

Package Package Dependencies
info.magnolia.dam.external.app.field info.magnolia.dam.external.app.field.definition
info.magnolia.dam.external.app.field.transformer
info.magnolia.dam.external.app.field.definition
info.magnolia.dam.external.app.field.definition info.magnolia.dam.external.app.field.transformer
info.magnolia.dam.external.app.field.definition
info.magnolia.dam.external.app.field.factory info.magnolia.dam.external.app.field
info.magnolia.dam.external.app.field.definition
info.magnolia.dam.external.app.field.transformer
info.magnolia.dam.external.app.field.definition
info.magnolia.dam.external.app.field.transformer info.magnolia.dam.external.app.field.definition
info.magnolia.dam.external.app.field.transformer

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.