Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
info.magnolia.resources.app.action | 7 | 7 | 0 | 0 | 12 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.resources.app.availability | 6 | 5 | 1 | 0 | 7 | 17.0% | 100.0% | 17.0% | 1 |
info.magnolia.resources.app.column | 8 | 8 | 0 | 0 | 15 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.resources.app.data | 6 | 6 | 0 | 3 | 7 | 0.0% | 70.0% | 30.000002% | 1 |
info.magnolia.resources.app.imageprovider | 1 | 1 | 0 | 0 | 9 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.resources.app.setup | 5 | 5 | 0 | 0 | 9 | 0.0% | 100.0% | 0.0% | 1 |
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.resources.app.action.AddResourceActionDefinition info.magnolia.resources.app.action.DeleteResourceCommandAction info.magnolia.resources.app.action.DeleteResourceCommandActionDefinition info.magnolia.resources.app.action.PublishResourceCommandActionDefinition info.magnolia.resources.app.action.ResourceCommandActionDefinition info.magnolia.resources.app.action.ResourceCommitActionDefinition info.magnolia.resources.app.action.UploadResourceActionDefinition |
None | com.vaadin.ui info.magnolia.commands info.magnolia.commands.impl info.magnolia.context info.magnolia.resourceloader info.magnolia.ui info.magnolia.ui.api.action info.magnolia.ui.contentapp.action info.magnolia.ui.contentapp.async info.magnolia.ui.observation java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.resources.app.availability.AbstractResourceAvailabilityRule |
info.magnolia.resources.app.availability.IsFileRule info.magnolia.resources.app.availability.IsNotDeletedRule info.magnolia.resources.app.availability.IsNotOverridingRule info.magnolia.resources.app.availability.IsOverridingRule info.magnolia.resources.app.availability.IsResourceFolderRule |
None | info.magnolia.resourceloader info.magnolia.resourceloader.layered info.magnolia.resources.app.data info.magnolia.ui.api.availability info.magnolia.ui.availability.rule java.lang java.util |
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.resources.app.column.IsOverridingColumnDefinition info.magnolia.resources.app.column.ResourceNameColumnDefinition info.magnolia.resources.app.column.ResourceOriginColumnDefinition info.magnolia.resources.app.column.ResourceOriginColumnDefinition$ValueProvider info.magnolia.resources.app.column.ResourceStatusColumnDefinition info.magnolia.resources.app.column.ResourceStatusColumnDefinition$ValueProvider info.magnolia.resources.app.column.ResourceTypeColumnDefinition info.magnolia.resources.app.column.ResourceTypeColumnDefinition$ValueProvider |
None | com.vaadin.data com.vaadin.ui.renderers info.magnolia.i18nsystem info.magnolia.icons info.magnolia.resourceloader info.magnolia.resourceloader.file info.magnolia.resourceloader.jcr info.magnolia.resources.app.data info.magnolia.ui.contentapp.column.jcr info.magnolia.ui.contentapp.configuration.column info.magnolia.ui.contentapp.configuration.column.component info.magnolia.ui.contentapp.configuration.column.icon java.lang java.util org.apache.tika |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 7 | 0.0% | 70.0% | 30.000002% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.resources.app.data.ResourceDataSourceDefinition info.magnolia.resources.app.data.ResourceItemDescriber info.magnolia.resources.app.data.ResourceItemResolver info.magnolia.resources.app.data.ResourceOriginDataSourceDefinition info.magnolia.resources.app.data.ResourcePropertySetFactory info.magnolia.resources.app.data.ResourcePropertySetFactory$1 |
info.magnolia.resources.app.availability info.magnolia.resources.app.column info.magnolia.resources.app.imageprovider |
com.vaadin.data info.magnolia.resourceloader info.magnolia.ui.contentapp info.magnolia.ui.datasource java.lang java.util org.apache.commons.lang3 |
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.resources.app.imageprovider.ResourcesImageProvider |
None | com.vaadin.server info.magnolia.context info.magnolia.resourceloader info.magnolia.resources.app.data info.magnolia.ui.contentapp.browser.preview java.lang java.util javax.inject org.apache.tika |
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.resources.app.setup.ResourcesAppModuleVersionHandler info.magnolia.resources.app.setup.ResourcesAppModuleVersionHandler$1 info.magnolia.resources.app.setup.ResourcesAppModuleVersionHandler$2 info.magnolia.resources.app.setup.ResourcesAppModuleVersionHandler$PublishingOrActivationInstalledCondition info.magnolia.resources.app.setup.UpdateResourcesAppConfigurationTask |
None | com.google.common.collect info.magnolia.jcr.util info.magnolia.module info.magnolia.module.delta info.magnolia.module.resources.setup info.magnolia.repository java.lang java.util javax.jcr |
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. |