Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
info.magnolia.ui.workbench | 18 | 11 | 7 | 4 | 27 | 39.0% | 87.0% | 26.0% | 1 |
info.magnolia.ui.workbench.column | 4 | 3 | 1 | 1 | 12 | 25.0% | 92.0% | 17.0% | 1 |
info.magnolia.ui.workbench.column.definition | 10 | 6 | 4 | 5 | 10 | 40.0% | 67.0% | 7.0% | 1 |
info.magnolia.ui.workbench.container | 6 | 4 | 2 | 3 | 11 | 33.0% | 79.0% | 12.0% | 1 |
info.magnolia.ui.workbench.definition | 6 | 3 | 3 | 7 | 5 | 50.0% | 42.0% | 8.0% | 1 |
info.magnolia.ui.workbench.event | 15 | 7 | 8 | 2 | 8 | 52.999996% | 80.0% | 33.0% | 1 |
info.magnolia.ui.workbench.list | 9 | 8 | 1 | 2 | 14 | 11.0% | 88.0% | 1.0% | 1 |
info.magnolia.ui.workbench.search | 5 | 4 | 1 | 1 | 12 | 20.0% | 92.0% | 12.0% | 1 |
info.magnolia.ui.workbench.thumbnail | 10 | 9 | 1 | 0 | 18 | 10.0% | 100.0% | 10.0% | 1 |
info.magnolia.ui.workbench.tree | 18 | 16 | 2 | 3 | 24 | 11.0% | 89.0% | 0.0% | 1 |
info.magnolia.ui.workbench.tree.drop | 6 | 5 | 1 | 1 | 12 | 17.0% | 92.0% | 9.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 27 | 39.0% | 87.0% | 26.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 25.0% | 92.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 10 | 40.0% | 67.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 11 | 33.0% | 79.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 5 | 50.0% | 42.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 8 | 52.999996% | 80.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 14 | 11.0% | 88.0% | 1.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 20.0% | 92.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 18 | 10.0% | 100.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | com.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 24 | 11.0% | 89.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 17.0% | 92.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Package | Package Dependencies |
---|---|
info.magnolia.ui.workbench | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.column | info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition |
info.magnolia.ui.workbench.column.definition | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition |
info.magnolia.ui.workbench.container | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.definition | info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.list | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.search | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.thumbnail | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.tree | info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
info.magnolia.ui.workbench.tree.drop | info.magnolia.ui.workbench.tree info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition |
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. |