Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
info.magnolia.ui.framework | 5 | 5 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.action | 46 | 43 | 3 | 0 | 44 | 7.0% | 100.0% | 7.0% | 1 |
info.magnolia.ui.framework.app | 16 | 16 | 0 | 1 | 34 | 0.0% | 97.0% | 3.0% | 1 |
info.magnolia.ui.framework.app.embedded | 4 | 3 | 1 | 0 | 11 | 25.0% | 100.0% | 25.0% | 1 |
info.magnolia.ui.framework.availability | 5 | 5 | 0 | 0 | 12 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.availability.shorthandrules | 7 | 7 | 0 | 1 | 11 | 0.0% | 92.0% | 8.0% | 1 |
info.magnolia.ui.framework.command | 2 | 2 | 0 | 0 | 17 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.config | 1 | 1 | 0 | 0 | 4 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.context | 1 | 0 | 1 | 2 | 5 | 100.0% | 71.0% | 71.0% | 1 |
info.magnolia.ui.framework.favorite | 2 | 2 | 0 | 0 | 5 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.i18n | 1 | 1 | 0 | 0 | 11 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.message | 14 | 11 | 3 | 3 | 15 | 21.0% | 83.0% | 5.0% | 1 |
info.magnolia.ui.framework.overlay | 11 | 10 | 1 | 3 | 10 | 9.0% | 77.0% | 14.0% | 1 |
info.magnolia.ui.framework.setup | 5 | 5 | 0 | 0 | 16 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.framework.shell | 6 | 5 | 1 | 0 | 19 | 17.0% | 100.0% | 17.0% | 1 |
info.magnolia.ui.framework.task | 4 | 3 | 1 | 0 | 13 | 25.0% | 100.0% | 25.0% | 1 |
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.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 | None | info.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 44 | 7.0% | 100.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | com.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 34 | 0.0% | 97.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | com.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 |
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.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 | None | info.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 11 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 17 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.framework.command.ImportZipCommand info.magnolia.ui.framework.command.ImportZipCommand$1 | None | info.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 |
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.ui.framework.config.UiConfig | None | info.magnolia.ui.api.action.config info.magnolia.ui.dialog.config info.magnolia.ui.form.config java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 5 | 100.0% | 71.0% | 71.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.context.AbstractUIContext | None | info.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.framework.favorite.FavoriteStore info.magnolia.ui.framework.favorite.FavoriteStore$1 | None | info.magnolia.cms.security info.magnolia.context java.lang javax.jcr org.apache.jackrabbit.commons |
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.ui.framework.i18n.DefaultI18NAuthoringSupport | None | com.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 15 | 21.0% | 83.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 10 | 9.0% | 77.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 |
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.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 | 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.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 19 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | com.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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses 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 | None | com.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 |
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. |