Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
info.magnolia.ui.availability | 1 | 1 | 0 | 1 | 5 | 0.0% | 83.0% | 17.0% | 1 |
info.magnolia.ui.availability.rule | 18 | 17 | 1 | 1 | 9 | 6.0% | 90.0% | 4.0% | 1 |
info.magnolia.ui.contentapp | 7 | 7 | 0 | 1 | 19 | 0.0% | 95.0% | 5.0% | 1 |
info.magnolia.ui.contentapp.action | 14 | 14 | 0 | 0 | 13 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.contentapp.column.jcr | 4 | 4 | 0 | 0 | 9 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.contentapp.drop | 3 | 3 | 0 | 0 | 8 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.contentapp.observation | 3 | 3 | 0 | 1 | 6 | 0.0% | 86.0% | 14.0% | 1 |
info.magnolia.ui.contentapp.preview | 3 | 3 | 0 | 1 | 8 | 0.0% | 89.0% | 11.0% | 1 |
info.magnolia.ui.contentapp.version | 2 | 2 | 0 | 1 | 6 | 0.0% | 86.0% | 14.0% | 1 |
info.magnolia.ui.datasource.jcr | 3 | 3 | 0 | 5 | 8 | 0.0% | 62.0% | 38.0% | 1 |
info.magnolia.ui.editor | 26 | 24 | 2 | 2 | 16 | 8.0% | 89.0% | 3.0% | 1 |
info.magnolia.ui.editor.converter | 1 | 0 | 1 | 0 | 4 | 100.0% | 100.0% | 100.0% | 1 |
info.magnolia.ui.editor.validator | 2 | 2 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.ui.field | 2 | 2 | 0 | 3 | 2 | 0.0% | 40.0% | 60.000004% | 1 |
info.magnolia.ui.framework | 1 | 1 | 0 | 0 | 10 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.util | 4 | 4 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 0.0% | 83.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.availability.JcrAvailabilityChecker |
info.magnolia.ui.contentapp |
info.magnolia.objectfactory info.magnolia.ui.api.availability info.magnolia.ui.availability.rule java.util java.util.stream |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 6.0% | 90.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.availability.rule.AbstractJcrRule |
info.magnolia.ui.availability.rule.JcrHasChildrenRule$NodeFilteringPredicate info.magnolia.ui.availability.rule.JcrHasChildrenRuleDefinition info.magnolia.ui.availability.rule.JcrHasVersionsRule info.magnolia.ui.availability.rule.JcrHasVersionsRuleDefinition info.magnolia.ui.availability.rule.JcrIsDeletedRule info.magnolia.ui.availability.rule.JcrIsDeletedRuleDefinition info.magnolia.ui.availability.rule.JcrNodeRule info.magnolia.ui.availability.rule.JcrNodeRuleDefinition info.magnolia.ui.availability.rule.JcrNodeTypeRuleDefinition info.magnolia.ui.availability.rule.JcrPropertyRule info.magnolia.ui.availability.rule.JcrPropertyRuleDefinition info.magnolia.ui.availability.rule.JcrPublishableRuleDefinition info.magnolia.ui.availability.rule.JcrPublishedRuleDefinition info.magnolia.ui.availability.rule.JcrRootRule info.magnolia.ui.availability.rule.JcrRootRuleDefinition info.magnolia.ui.availability.rule.JcrWritePermissionRule info.magnolia.ui.availability.rule.JcrWritePermissionRuleDefinition |
info.magnolia.ui.availability |
info.magnolia.cms.core.version info.magnolia.cms.security info.magnolia.jcr info.magnolia.jcr.predicate info.magnolia.jcr.util info.magnolia.ui.api.availability java.lang java.util javax.jcr |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 19 | 0.0% | 95.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.contentapp.JcrDataProviderDefinition info.magnolia.ui.contentapp.JcrDataProviderUtils info.magnolia.ui.contentapp.JcrDataProviderUtils$AlwaysTruePredicate info.magnolia.ui.contentapp.JcrDataProviderUtils$NodeTypeFilteringPredicate info.magnolia.ui.contentapp.JcrItemInteractionAvailability info.magnolia.ui.contentapp.JcrListPresenter info.magnolia.ui.contentapp.ResolveJcrNodeFromLocationContext |
info.magnolia.ui.editor |
com.vaadin.data com.vaadin.data.provider info.magnolia.jcr info.magnolia.jcr.predicate info.magnolia.jcr.util info.magnolia.objectfactory info.magnolia.ui.availability info.magnolia.ui.contentapp.browser info.magnolia.ui.contentapp.configuration info.magnolia.ui.contentapp.detail info.magnolia.ui.contentapp.observation info.magnolia.ui.contentapp.version info.magnolia.ui.datasource info.magnolia.ui.datasource.jcr info.magnolia.ui.editor java.lang java.util java.util.stream javax.jcr |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.contentapp.action.AddNodeAction info.magnolia.ui.contentapp.action.AddNodeActionDefinition info.magnolia.ui.contentapp.action.DeleteNodesConfirmationActionDefinition info.magnolia.ui.contentapp.action.DuplicateNodeAction info.magnolia.ui.contentapp.action.DuplicateNodeActionDefinition info.magnolia.ui.contentapp.action.JcrCommandAction info.magnolia.ui.contentapp.action.JcrCommandActionDefinition info.magnolia.ui.contentapp.action.JcrExportActionDefinition info.magnolia.ui.contentapp.action.JcrImportActionDefinition info.magnolia.ui.contentapp.action.MarkAsDeletedCommandActionDefinition info.magnolia.ui.contentapp.action.RestoreJcrVersionActionDefinition info.magnolia.ui.contentapp.action.RestorePreviousJcrVersionAction info.magnolia.ui.contentapp.action.RestorePreviousJcrVersionActionDefinition info.magnolia.ui.contentapp.action.ShowPreviousJcrVersionActionDefinition |
None | info.magnolia.commands info.magnolia.context info.magnolia.importexport.command info.magnolia.jcr info.magnolia.jcr.util info.magnolia.ui info.magnolia.ui.api.action info.magnolia.ui.api.availability info.magnolia.ui.contentapp.async info.magnolia.ui.datasource.jcr java.lang java.util javax.jcr |
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.ui.contentapp.column.jcr.JcrPathColumnDefinition info.magnolia.ui.contentapp.column.jcr.JcrStatusColumnDefinition info.magnolia.ui.contentapp.column.jcr.JcrStatusColumnDefinition$ActivationStatus info.magnolia.ui.contentapp.column.jcr.JcrTitleColumnDefinition |
None | com.vaadin.ui.renderers info.magnolia.jcr.util info.magnolia.ui.contentapp.configuration.column info.magnolia.ui.contentapp.configuration.column.icon info.magnolia.ui.datasource.enumeration info.magnolia.ui.field java.lang java.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.contentapp.drop.JcrDropConstraint info.magnolia.ui.contentapp.drop.JcrDropConstraint$1 info.magnolia.ui.contentapp.drop.JcrDropConstraintDefinition |
None | com.vaadin.shared.ui.grid info.magnolia.jcr.util info.magnolia.ui.contentapp.browser.drop java.lang javax.jcr javax.jcr.nodetype lombok org.apache.commons.lang3 |
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.ui.contentapp.observation.JcrDataSourceObservation$1 info.magnolia.ui.contentapp.observation.JcrObservation info.magnolia.ui.contentapp.observation.JcrObservation$1 |
info.magnolia.ui.contentapp |
com.vaadin.shared info.magnolia.ui.datasource.jcr java.lang java.util java.util.concurrent java.util.function |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 8 | 0.0% | 89.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.contentapp.preview.JcrPreviewDefinition info.magnolia.ui.contentapp.preview.JcrPreviewProvider$ImageStreamSource info.magnolia.ui.contentapp.preview.JcrPreviewProvider$LinkProvider |
info.magnolia.ui.datasource.jcr |
com.vaadin.server info.magnolia.jcr info.magnolia.jcr.util info.magnolia.link java.io java.lang javax.jcr org.apache.jackrabbit |
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.ui.contentapp.version.JcrVersionResolver info.magnolia.ui.contentapp.version.VersionResolver |
info.magnolia.ui.contentapp |
info.magnolia.cms.core.version info.magnolia.jcr info.magnolia.ui.datasource.jcr java.lang java.util javax.jcr |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 8 | 0.0% | 62.0% | 38.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.datasource.jcr.JcrDatasource$1 info.magnolia.ui.datasource.jcr.JcrDatasourceDefinition info.magnolia.ui.datasource.jcr.JcrSessionWrapper |
info.magnolia.ui.contentapp info.magnolia.ui.contentapp.action info.magnolia.ui.contentapp.observation info.magnolia.ui.contentapp.version info.magnolia.ui.editor.converter |
com.vaadin.shared.ui.grid info.magnolia.jcr.decoration info.magnolia.ui.contentapp.preview info.magnolia.ui.datasource java.lang java.util javax.jcr org.apache.commons.lang3 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 16 | 8.0% | 89.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.editor.JcrBinaryHelper info.magnolia.ui.editor.JcrItemInteractionStrategy |
info.magnolia.ui.editor.ByIndexedChildNodes$Definition info.magnolia.ui.editor.ByIndexedChildNodes$IndexedChildNodeNameRegexPredicate info.magnolia.ui.editor.ByLexicographicallyIndexedChildNodes$Definition info.magnolia.ui.editor.ByMultiValueProperties$Definition info.magnolia.ui.editor.DefaultJcrNodeOrderHandler$Definition info.magnolia.ui.editor.JcrChildNodeProviderDefinition info.magnolia.ui.editor.JcrIndexedChildNodeProvider$Definition info.magnolia.ui.editor.JcrIndexedMultiPropertyValueProvider$1 info.magnolia.ui.editor.JcrIndexedMultiPropertyValueProvider$Definition info.magnolia.ui.editor.JcrIndexedMultiPropertyValueProvider$SingleValueWrapper info.magnolia.ui.editor.JcrItemPropertySet$1 info.magnolia.ui.editor.JcrItemPropertySet$JcrPropertyDescriptor info.magnolia.ui.editor.JcrItemPropertySet$JcrPropertyDescriptor$JcrPropertyDescriptorBuilder info.magnolia.ui.editor.JcrItemPropertySet$JcrPropertyDescriptorWrapper info.magnolia.ui.editor.JcrItemPropertySet$LocalisedJcrPropertyDescriptor info.magnolia.ui.editor.JcrNodeFromLocationResolutionDefinition info.magnolia.ui.editor.JcrNodeProviderDefinition info.magnolia.ui.editor.JcrPropertyProvider$Definition info.magnolia.ui.editor.LexicographicallyIndexedChildNodeProvider$Definition info.magnolia.ui.editor.LexicographicallyIndexedJcrNodeOrderHandler info.magnolia.ui.editor.LexicographicallyIndexedJcrNodeOrderHandler$Definition info.magnolia.ui.editor.MultiFieldEntryResolution info.magnolia.ui.editor.MultiFieldEntryResolution$Definition info.magnolia.ui.editor.MultiValuePropertyOrderHandler$Definition |
info.magnolia.ui.contentapp info.magnolia.ui.field |
info.magnolia.jcr.predicate info.magnolia.jcr.util info.magnolia.jcr.wrapper info.magnolia.objectfactory info.magnolia.ui.api.i18n info.magnolia.ui.contentapp info.magnolia.ui.field info.magnolia.ui.framework.util java.io java.lang java.util java.util.stream javax.jcr org.apache.commons.io org.apache.jackrabbit org.apache.tika |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.ui.editor.converter.AbstractJcrConverter |
None | None | com.vaadin.data info.magnolia.ui.datasource.jcr java.lang javax.jcr |
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.editor.validator.NodeNameFieldValidatorFactory info.magnolia.ui.editor.validator.NodeNameValidatorDefinition |
None | com.vaadin.data info.magnolia.i18nsystem info.magnolia.jcr.util info.magnolia.ui info.magnolia.ui.field java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 2 | 0.0% | 40.0% | 60.000004% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.ui.field.JcrMultiFieldDefinition info.magnolia.ui.field.JcrMultiValueFieldDefinition |
info.magnolia.ui.contentapp.column.jcr info.magnolia.ui.editor info.magnolia.ui.editor.validator |
info.magnolia.config info.magnolia.ui.editor |
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.ui.framework.JcrSearchSuppliersGenerator$AutogeneratedDefinitionProvider |
None | com.google.common.collect info.magnolia.config.registry info.magnolia.config.source info.magnolia.config.source.raw info.magnolia.jcr.util info.magnolia.periscope.search info.magnolia.periscope.search.jcr info.magnolia.ui.api.app java.lang java.util |
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.util.CollectionConversionCapableBeanUtils info.magnolia.util.CollectionConversionCapableBeanUtils$1 info.magnolia.util.CollectionConversionCapableBeanUtils$2 info.magnolia.util.JcrValueConverter |
None | info.magnolia.jcr info.magnolia.jcr.node2bean.impl java.lang java.util javax.jcr org.apache.commons.beanutils |
Package | Package Dependencies |
---|---|
info.magnolia.ui.contentapp | info.magnolia.ui.editor info.magnolia.ui.field info.magnolia.ui.editor |
info.magnolia.ui.contentapp.column.jcr | info.magnolia.ui.field info.magnolia.ui.editor info.magnolia.ui.field |
info.magnolia.ui.editor | info.magnolia.ui.field info.magnolia.ui.editor |
info.magnolia.ui.editor.validator | info.magnolia.ui.field info.magnolia.ui.editor info.magnolia.ui.field |
info.magnolia.ui.field | info.magnolia.ui.editor info.magnolia.ui.field |
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. |