Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.rendering.DefinitionTypes info.magnolia.rendering.DefinitionTypes$1 info.magnolia.rendering.DefinitionTypes$2 |
info.magnolia.rendering.renderer.registry info.magnolia.rendering.template.registry |
info.magnolia.config.registry info.magnolia.rendering.renderer info.magnolia.rendering.template java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 13 | 33.0% | 81.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.context.RenderingContext info.magnolia.rendering.context.RenderingListener |
info.magnolia.rendering.context.AggregationStateBasedRenderingContext info.magnolia.rendering.context.AggregationStateBasedRenderingContext$1 info.magnolia.rendering.context.AggregationStateBasedRenderingContext$StackState info.magnolia.rendering.context.AreaFilteringListener |
info.magnolia.rendering.engine info.magnolia.rendering.module.setup info.magnolia.rendering.renderer |
info.magnolia.cms.core info.magnolia.context info.magnolia.rendering.engine info.magnolia.rendering.listeners info.magnolia.rendering.template info.magnolia.rendering.util java.io java.lang java.util javax.inject javax.jcr org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 29 | 30.000002% | 83.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.engine.OutputProvider info.magnolia.rendering.engine.RenderExceptionHandler info.magnolia.rendering.engine.RenderingEngine |
info.magnolia.rendering.engine.AppendableOnlyOutputProvider info.magnolia.rendering.engine.DefaultRenderingEngine info.magnolia.rendering.engine.FilteringResponseOutputProvider info.magnolia.rendering.engine.ModeDependentRenderExceptionHandler info.magnolia.rendering.engine.RenderException info.magnolia.rendering.engine.RenderingFilter info.magnolia.rendering.engine.ResponseOutputProvider |
info.magnolia.rendering.context info.magnolia.rendering.generator info.magnolia.rendering.listeners info.magnolia.rendering.model info.magnolia.rendering.renderer info.magnolia.rendering.renderer.registry |
info.magnolia.cms.beans.config info.magnolia.cms.core info.magnolia.cms.filters info.magnolia.context info.magnolia.jcr.wrapper info.magnolia.objectfactory info.magnolia.registry info.magnolia.rendering.context info.magnolia.rendering.listeners info.magnolia.rendering.renderer info.magnolia.rendering.renderer.registry info.magnolia.rendering.template info.magnolia.rendering.template.assignment info.magnolia.rendering.template.registry info.magnolia.rendering.template.variation info.magnolia.rendering.util java.io java.lang java.util javax.inject javax.jcr javax.servlet javax.servlet.http org.apache.commons.io org.apache.commons.lang3 org.apache.commons.lang3.exception org.apache.commons.lang3.math org.apache.jackrabbit org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.generator.Generator |
info.magnolia.rendering.generator.CopyGenerator |
None | info.magnolia.cms.security info.magnolia.jcr.util info.magnolia.rendering.engine info.magnolia.rendering.template java.lang java.util javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 16 | 50.0% | 84.0% | 34.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.listeners.AbstractInjectionListener info.magnolia.rendering.listeners.AbstractRenderingListener |
info.magnolia.rendering.listeners.AbstractRenderingListener$RenderingListenerReturnCode info.magnolia.rendering.listeners.AreaFilteringListener |
info.magnolia.rendering.context info.magnolia.rendering.engine info.magnolia.rendering.module.setup |
info.magnolia.cms.core info.magnolia.context info.magnolia.jcr.util info.magnolia.objectfactory info.magnolia.registry info.magnolia.rendering.engine info.magnolia.rendering.template info.magnolia.rendering.template.assignment info.magnolia.voting.voters java.io java.lang java.util javax.jcr javax.servlet.http org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 17 | 50.0% | 94.0% | 44.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.model.EarlyExecutionAware info.magnolia.rendering.model.RenderingModel |
info.magnolia.rendering.model.ModelExecutionFilter info.magnolia.rendering.model.RenderingModelImpl |
info.magnolia.rendering.renderer |
info.magnolia.cms.core info.magnolia.cms.filters info.magnolia.cms.util info.magnolia.context info.magnolia.jcr.util info.magnolia.objectfactory info.magnolia.registry info.magnolia.rendering.engine info.magnolia.rendering.renderer info.magnolia.rendering.renderer.registry info.magnolia.rendering.template info.magnolia.rendering.template.assignment java.io java.lang javax.jcr javax.servlet javax.servlet.http |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.rendering.module.RenderingModule |
None | info.magnolia.config.source info.magnolia.config.source.jcr info.magnolia.config.source.yaml info.magnolia.module info.magnolia.rendering.renderer.registry info.magnolia.rendering.template.registry java.lang |
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.rendering.module.setup.InstallRendererContextAttributeTask info.magnolia.rendering.module.setup.MigrateRenderingListenersTask info.magnolia.rendering.module.setup.MigrateRenderingListenersTask$1 info.magnolia.rendering.module.setup.RenderingModuleVersionHandler info.magnolia.rendering.module.setup.RenderingModuleVersionHandler$1 info.magnolia.rendering.module.setup.RenderingModuleVersionHandler$2 |
None | info.magnolia.jcr.util info.magnolia.module info.magnolia.module.delta info.magnolia.rendering.context info.magnolia.rendering.listeners info.magnolia.repository java.lang java.util javax.jcr |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 23 | 50.0% | 85.0% | 35.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.renderer.AbstractRenderer info.magnolia.rendering.renderer.Renderer info.magnolia.rendering.renderer.RenderingModelBasedRenderer |
info.magnolia.rendering.renderer.AbstractRenderer$1 info.magnolia.rendering.renderer.ContextAttributeConfiguration info.magnolia.rendering.renderer.FreemarkerRenderer |
info.magnolia.rendering info.magnolia.rendering.engine info.magnolia.rendering.model info.magnolia.rendering.renderer.registry |
freemarker.template info.magnolia.cms.beans.config info.magnolia.cms.core info.magnolia.context info.magnolia.freemarker info.magnolia.jcr.decoration info.magnolia.jcr.util info.magnolia.jcr.wrapper info.magnolia.objectfactory info.magnolia.rendering.context info.magnolia.rendering.engine info.magnolia.rendering.model info.magnolia.rendering.template java.io java.lang java.lang.reflect java.util javax.jcr javax.servlet.http org.apache.commons.beanutils org.apache.commons.lang3 org.apache.commons.lang3.exception org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 13 | 25.0% | 81.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.renderer.registry.RendererProvider |
info.magnolia.rendering.renderer.registry.ConfiguredRendererManager info.magnolia.rendering.renderer.registry.ConfiguredRendererProvider info.magnolia.rendering.renderer.registry.RendererRegistry |
info.magnolia.rendering.engine info.magnolia.rendering.model info.magnolia.rendering.module |
info.magnolia.cms.util info.magnolia.config.registry info.magnolia.jcr.node2bean info.magnolia.module info.magnolia.objectfactory info.magnolia.registry info.magnolia.rendering info.magnolia.rendering.engine info.magnolia.rendering.renderer java.lang java.util javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
13 | 7 | 100.0% | 35.0% | 35.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.template.AreaDefinition info.magnolia.rendering.template.AutoGenerationConfiguration info.magnolia.rendering.template.ComponentAvailability info.magnolia.rendering.template.InheritanceConfiguration info.magnolia.rendering.template.RenderableDefinition info.magnolia.rendering.template.TemplateAvailability info.magnolia.rendering.template.TemplateDefinition |
None | info.magnolia.rendering info.magnolia.rendering.context info.magnolia.rendering.engine info.magnolia.rendering.generator info.magnolia.rendering.listeners info.magnolia.rendering.model info.magnolia.rendering.renderer info.magnolia.rendering.template.assignment info.magnolia.rendering.template.configured info.magnolia.rendering.template.i18n info.magnolia.rendering.template.registry info.magnolia.rendering.template.type info.magnolia.rendering.template.variation |
info.magnolia.cms.security.operations info.magnolia.config info.magnolia.jcr.predicate info.magnolia.rendering.template.fragment java.lang java.util javax.jcr |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 11 | 50.0% | 79.0% | 29.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.template.assignment.TemplateDefinitionAssignment |
info.magnolia.rendering.template.assignment.MetaDataBasedTemplateDefinitionAssignment |
info.magnolia.rendering.engine info.magnolia.rendering.listeners info.magnolia.rendering.model |
info.magnolia.cms.security info.magnolia.context info.magnolia.i18nsystem info.magnolia.jcr.util info.magnolia.registry info.magnolia.rendering.template info.magnolia.rendering.template.registry java.lang java.util javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 14 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.rendering.template.configured.ConfiguredAreaDefinition info.magnolia.rendering.template.configured.ConfiguredAutoGeneration info.magnolia.rendering.template.configured.ConfiguredComponentAvailability info.magnolia.rendering.template.configured.ConfiguredInheritance info.magnolia.rendering.template.configured.ConfiguredInheritance$AllComponentsAndResourcesInheritancePredicate info.magnolia.rendering.template.configured.ConfiguredInheritance$FilteredComponentInheritancePredicate info.magnolia.rendering.template.configured.ConfiguredInheritance$InheritNothingInheritancePredicate info.magnolia.rendering.template.configured.ConfiguredInheritance$NodeDepthComparator info.magnolia.rendering.template.configured.ConfiguredRenderableDefinition info.magnolia.rendering.template.configured.ConfiguredTemplateAvailability info.magnolia.rendering.template.configured.ConfiguredTemplateDefinition info.magnolia.rendering.template.configured.DefaultTemplateAvailability info.magnolia.rendering.template.configured.FilteredInheritancePredicate info.magnolia.rendering.template.configured.InheritancePredicate |
None | info.magnolia.cms.security.operations info.magnolia.jcr info.magnolia.jcr.predicate info.magnolia.jcr.util info.magnolia.objectfactory info.magnolia.rendering.template info.magnolia.rendering.template.fragment info.magnolia.rendering.template.type info.magnolia.repository java.lang java.util javax.jcr org.apache.commons.lang3 org.apache.commons.lang3.builder |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 1 | 100.0% | 33.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.template.fragment.FragmentDefinition |
None | info.magnolia.rendering.template info.magnolia.rendering.template.configured |
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.rendering.template.i18n.RenderableDefinitionKeyGenerator |
None | info.magnolia.i18nsystem info.magnolia.rendering.template java.lang java.lang.reflect java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 12 | 20.0% | 75.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.template.registry.TemplateDefinitionProvider |
info.magnolia.rendering.template.registry.ConfiguredTemplateDefinitionManager info.magnolia.rendering.template.registry.ConfiguredTemplateDefinitionProvider info.magnolia.rendering.template.registry.TemplateDefinitionRegistry info.magnolia.rendering.template.registry.TemplateDefinitionRegistry$1 |
info.magnolia.rendering.engine info.magnolia.rendering.module info.magnolia.rendering.template.assignment info.magnolia.rendering.template.type |
info.magnolia.config.registry info.magnolia.jcr.node2bean info.magnolia.module info.magnolia.objectfactory info.magnolia.registry info.magnolia.rendering info.magnolia.rendering.template info.magnolia.rendering.template.registry.validator java.lang java.util javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.rendering.template.type.DefaultTemplateTypes info.magnolia.rendering.template.type.TemplateTypeHelper |
info.magnolia.rendering.template.configured |
info.magnolia.cms.util info.magnolia.jcr.util info.magnolia.jcr.wrapper info.magnolia.registry info.magnolia.rendering.template info.magnolia.rendering.template.registry java.lang java.util javax.jcr javax.jcr.query org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 6 | 20.0% | 86.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.rendering.template.variation.RenderableVariationResolver |
info.magnolia.rendering.template.variation.ChannelVariationResolver info.magnolia.rendering.template.variation.DefaultRenderableVariationResolver info.magnolia.rendering.template.variation.ExtensionVariationResolver info.magnolia.rendering.template.variation.NoopVariationResolver |
info.magnolia.rendering.engine |
info.magnolia.beanmerger info.magnolia.cms.core info.magnolia.context info.magnolia.rendering.template java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.rendering.util.AppendableWriter info.magnolia.rendering.util.FilteringAppendableWrapper info.magnolia.rendering.util.FilteringWriter |
info.magnolia.rendering.context info.magnolia.rendering.engine |
java.io java.lang |
Package | Package Dependencies |
---|---|
info.magnolia.rendering | info.magnolia.rendering.renderer info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.context | info.magnolia.rendering.engine info.magnolia.rendering.context |
info.magnolia.rendering.engine | info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.generator | info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.listeners | info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.model | info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.module | info.magnolia.rendering.template.registry info.magnolia.rendering info.magnolia.rendering.renderer info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.module.setup | info.magnolia.rendering.context info.magnolia.rendering.engine info.magnolia.rendering.context |
info.magnolia.rendering.renderer | info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.renderer.registry | info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.template.assignment | info.magnolia.rendering.template.registry info.magnolia.rendering info.magnolia.rendering.renderer info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.template.configured | info.magnolia.rendering.template.type info.magnolia.rendering.template.registry info.magnolia.rendering info.magnolia.rendering.renderer info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.template.registry | info.magnolia.rendering info.magnolia.rendering.renderer info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
info.magnolia.rendering.template.type | info.magnolia.rendering.template.registry info.magnolia.rendering info.magnolia.rendering.renderer info.magnolia.rendering.engine info.magnolia.rendering.context info.magnolia.rendering.engine |
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. |