Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
info.magnolia.ui.framework.app | 17 | 4 | 13 | 3 | 8 | 76.0% | 73.0% | 49.0% | 1 |
info.magnolia.ui.framework.app.builder | 3 | 2 | 1 | 0 | 4 | 33.0% | 100.0% | 33.0% | 1 |
info.magnolia.ui.framework.app.launcherlayout | 8 | 6 | 2 | 0 | 10 | 25.0% | 100.0% | 25.0% | 1 |
info.magnolia.ui.framework.app.launcherlayout.definition | 6 | 3 | 3 | 1 | 2 | 50.0% | 67.0% | 17.0% | 1 |
info.magnolia.ui.framework.app.registry | 12 | 10 | 2 | 2 | 14 | 17.0% | 88.0% | 4.0% | 1 |
info.magnolia.ui.framework.event | 15 | 11 | 4 | 7 | 9 | 27.000002% | 56.0% | 17.0% | 1 |
info.magnolia.ui.framework.instantpreview | 6 | 4 | 2 | 0 | 7 | 33.0% | 100.0% | 33.0% | 1 |
info.magnolia.ui.framework.location | 13 | 9 | 4 | 2 | 6 | 31.0% | 75.0% | 6.0% | 1 |
info.magnolia.ui.framework.message | 15 | 12 | 3 | 1 | 12 | 20.0% | 92.0% | 12.0% | 1 |
info.magnolia.ui.framework.shell | 5 | 2 | 3 | 2 | 4 | 60.000004% | 67.0% | 27.000002% | 1 |
info.magnolia.ui.framework.view | 2 | 0 | 2 | 1 | 3 | 100.0% | 75.0% | 75.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 8 | 76.0% | 73.0% | 49.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.app.AbstractApp info.magnolia.ui.framework.app.AbstractSubApp info.magnolia.ui.framework.app.App info.magnolia.ui.framework.app.AppContext info.magnolia.ui.framework.app.AppController info.magnolia.ui.framework.app.AppDescriptor info.magnolia.ui.framework.app.AppLifecycleEventHandler info.magnolia.ui.framework.app.ShellApp info.magnolia.ui.framework.app.ShellAppContext info.magnolia.ui.framework.app.ShellView info.magnolia.ui.framework.app.SubApp info.magnolia.ui.framework.app.SubAppContext info.magnolia.ui.framework.app.SubAppDescriptor | info.magnolia.ui.framework.app.AppLifecycleEvent info.magnolia.ui.framework.app.AppLifecycleEvent$1 info.magnolia.ui.framework.app.AppLifecycleEventHandler$Adapter info.magnolia.ui.framework.app.AppLifecycleEventType | info.magnolia.ui.framework.app.builder info.magnolia.ui.framework.app.launcherlayout info.magnolia.ui.framework.app.registry | info.magnolia.objectfactory info.magnolia.ui.framework.event info.magnolia.ui.framework.location info.magnolia.ui.framework.message info.magnolia.ui.framework.view java.io java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.app.builder.App | info.magnolia.ui.framework.app.builder.AppBuilder info.magnolia.ui.framework.app.builder.SubAppBuilder | None | info.magnolia.ui.framework.app info.magnolia.ui.framework.app.registry java.lang java.lang.annotation |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutChangedEventHandler info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutManager | info.magnolia.ui.framework.app.launcherlayout.AppLauncherGroup info.magnolia.ui.framework.app.launcherlayout.AppLauncherGroupEntry info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayout info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutChangedEvent info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutManagerImpl info.magnolia.ui.framework.app.launcherlayout.AppLauncherLayoutManagerImpl$1 | None | info.magnolia.registry info.magnolia.ui.framework.app info.magnolia.ui.framework.app.launcherlayout.definition info.magnolia.ui.framework.app.registry info.magnolia.ui.framework.event java.lang java.util java.util.concurrent.atomic org.apache.commons.lang org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 50.0% | 67.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.app.launcherlayout.definition.AppLauncherGroupDefinition info.magnolia.ui.framework.app.launcherlayout.definition.AppLauncherGroupEntryDefinition info.magnolia.ui.framework.app.launcherlayout.definition.AppLauncherLayoutDefinition | info.magnolia.ui.framework.app.launcherlayout.definition.ConfiguredAppLauncherGroupDefinition info.magnolia.ui.framework.app.launcherlayout.definition.ConfiguredAppLauncherGroupEntryDefinition info.magnolia.ui.framework.app.launcherlayout.definition.ConfiguredAppLauncherLayoutDefinition | info.magnolia.ui.framework.app.launcherlayout | java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 14 | 17.0% | 88.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.app.registry.AppDescriptorProvider info.magnolia.ui.framework.app.registry.AppRegistryEventHandler | info.magnolia.ui.framework.app.registry.AppDescriptorRegistry info.magnolia.ui.framework.app.registry.AppDescriptorRegistry$1 info.magnolia.ui.framework.app.registry.AppRegistryEvent info.magnolia.ui.framework.app.registry.AppRegistryEvent$1 info.magnolia.ui.framework.app.registry.AppRegistryEventType info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptor info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptorManager info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptorManager$1 info.magnolia.ui.framework.app.registry.ConfiguredAppDescriptorProvider info.magnolia.ui.framework.app.registry.ConfiguredSubAppDescriptor | info.magnolia.ui.framework.app.builder info.magnolia.ui.framework.app.launcherlayout | info.magnolia.cms.util info.magnolia.jcr.node2bean info.magnolia.jcr.util info.magnolia.module info.magnolia.objectfactory info.magnolia.registry info.magnolia.ui.framework.app info.magnolia.ui.framework.event java.lang java.util javax.jcr org.apache.commons.collections org.apache.jackrabbit.commons.predicate org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 9 | 27.000002% | 56.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.event.Event info.magnolia.ui.framework.event.EventBus info.magnolia.ui.framework.event.EventHandler info.magnolia.ui.framework.event.HandlerRegistration | info.magnolia.ui.framework.event.AdminCentralEventBusConfigurer info.magnolia.ui.framework.event.AppEventBusConfigurer info.magnolia.ui.framework.event.ChooseDialogEventBusConfigurer info.magnolia.ui.framework.event.EventHandlerCollection info.magnolia.ui.framework.event.EventHandlerCollection$1 info.magnolia.ui.framework.event.ResettableEventBus info.magnolia.ui.framework.event.ResettableEventBus$1 info.magnolia.ui.framework.event.SimpleEventBus info.magnolia.ui.framework.event.SimpleEventBus$1 info.magnolia.ui.framework.event.SubAppEventBusConfigurer info.magnolia.ui.framework.event.SystemEventBusConfigurer | info.magnolia.ui.framework.app info.magnolia.ui.framework.app.launcherlayout info.magnolia.ui.framework.app.registry info.magnolia.ui.framework.instantpreview info.magnolia.ui.framework.location info.magnolia.ui.framework.message info.magnolia.ui.framework.shell | com.google.common.collect com.google.inject.binder com.google.inject.name com.google.inject.util info.magnolia.objectfactory.guice java.lang java.util java.util.concurrent org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.instantpreview.InstantPreviewLocationManager info.magnolia.ui.framework.instantpreview.InstantPreviewLocationManager$PreviewLocationListener | info.magnolia.ui.framework.instantpreview.InstantPreviewDispatcher info.magnolia.ui.framework.instantpreview.InstantPreviewDispatcher$1 info.magnolia.ui.framework.instantpreview.InstantPreviewHostNotFoundException info.magnolia.ui.framework.instantpreview.InstantPreviewLocationManagerImpl | None | com.google.common.collect info.magnolia.ui.framework.event info.magnolia.ui.framework.location info.magnolia.ui.framework.shell java.lang java.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 6 | 31.0% | 75.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.location.Location info.magnolia.ui.framework.location.LocationChangeRequestedEvent$Handler info.magnolia.ui.framework.location.LocationChangedEvent$Handler info.magnolia.ui.framework.location.LocationHistoryMapper | info.magnolia.ui.framework.location.DefaultLocation info.magnolia.ui.framework.location.Location$1 info.magnolia.ui.framework.location.LocationChangeRequestedEvent info.magnolia.ui.framework.location.LocationChangedEvent info.magnolia.ui.framework.location.LocationController info.magnolia.ui.framework.location.LocationController$1 info.magnolia.ui.framework.location.LocationHistoryHandler info.magnolia.ui.framework.location.LocationHistoryHandler$1 info.magnolia.ui.framework.location.LocationHistoryHandler$2 | info.magnolia.ui.framework.app info.magnolia.ui.framework.instantpreview | info.magnolia.ui.framework.event info.magnolia.ui.framework.shell java.lang java.util org.apache.commons.lang 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.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.LocalMessageDispatcher$1 info.magnolia.ui.framework.message.Message 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.MessageType info.magnolia.ui.framework.message.MessageType$1 info.magnolia.ui.framework.message.MessagesManagerImpl | info.magnolia.ui.framework.app | com.google.common.collect info.magnolia.cms.security info.magnolia.context info.magnolia.jcr.util info.magnolia.ui.framework.event java.lang java.util java.util.concurrent javax.inject javax.jcr org.apache.jackrabbit.commons org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 60.000004% | 67.0% | 27.000002% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.shell.ConfirmationHandler info.magnolia.ui.framework.shell.FragmentChangedHandler info.magnolia.ui.framework.shell.Shell | info.magnolia.ui.framework.shell.FragmentChangedEvent info.magnolia.ui.framework.shell.Fragmenter | info.magnolia.ui.framework.instantpreview info.magnolia.ui.framework.location | info.magnolia.ui.framework.event java.lang java.util org.apache.commons.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 100.0% | 75.0% | 75.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.framework.view.View info.magnolia.ui.framework.view.ViewPort | None | info.magnolia.ui.framework.app | com.vaadin.ui java.io java.lang |
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. |