Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.blossom.BlossomModule | None | info.magnolia.module java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 2 | 71.0% | 40.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.annotation.Area info.magnolia.module.blossom.annotation.Available info.magnolia.module.blossom.annotation.AvailableComponentClasses info.magnolia.module.blossom.annotation.AvailableComponents info.magnolia.module.blossom.annotation.DialogFactory info.magnolia.module.blossom.annotation.I18nBasename info.magnolia.module.blossom.annotation.Inherits info.magnolia.module.blossom.annotation.TabFactory info.magnolia.module.blossom.annotation.TabOrder info.magnolia.module.blossom.annotation.Template info.magnolia.module.blossom.annotation.TemplateDescription info.magnolia.module.blossom.annotation.VirtualURIMapper | info.magnolia.module.blossom.annotation.AreaType info.magnolia.module.blossom.annotation.ComponentInheritanceMode info.magnolia.module.blossom.annotation.PropertyInheritanceMode info.magnolia.module.blossom.annotation.TernaryBoolean info.magnolia.module.blossom.annotation.TernaryBoolean$1 | info.magnolia.module.blossom.dialog info.magnolia.module.blossom.template info.magnolia.module.blossom.urimapping | java.lang java.lang.annotation |
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.module.blossom.content2bean.SpringContent2BeanTransformer | info.magnolia.module.blossom.context | info.magnolia.content2bean info.magnolia.content2bean.impl info.magnolia.objectfactory java.beans java.lang java.util org.springframework.beans.factory.config org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 22 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.blossom.context.ConfiguredBeanFactoryBean info.magnolia.module.blossom.context.MagnoliaComponentFactoryBean info.magnolia.module.blossom.context.MagnoliaLocaleResolver info.magnolia.module.blossom.context.MagnoliaMessageSource info.magnolia.module.blossom.context.ObservedBeanFactoryBean info.magnolia.module.blossom.context.ObservedBeanFactoryBean$1 info.magnolia.module.blossom.context.ObservedBeanReloadedEvent | info.magnolia.module.blossom.render info.magnolia.module.blossom.xml | info.magnolia.cms.core info.magnolia.cms.i18n info.magnolia.cms.util info.magnolia.content2bean info.magnolia.context info.magnolia.module.blossom.content2bean info.magnolia.module.blossom.support info.magnolia.objectfactory java.lang java.text java.util javax.jcr javax.jcr.observation javax.servlet.http org.slf4j org.springframework.aop org.springframework.aop.framework org.springframework.beans.factory org.springframework.beans.factory.support org.springframework.context org.springframework.context.support org.springframework.web.servlet |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 33 | 6.0% | 94.0% | 1.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.dialog.DialogCreator | info.magnolia.module.blossom.dialog.BlossomDialogDefinitionProvider info.magnolia.module.blossom.dialog.BlossomDialogDescription info.magnolia.module.blossom.dialog.BlossomFormDialogPresenter info.magnolia.module.blossom.dialog.DefaultDialogCreator info.magnolia.module.blossom.dialog.DefaultDialogCreator$1 info.magnolia.module.blossom.dialog.DefaultDialogCreator$2 info.magnolia.module.blossom.dialog.DefaultDialogCreator$3 info.magnolia.module.blossom.dialog.DialogCreationContext info.magnolia.module.blossom.dialog.DialogCreationContextHolder info.magnolia.module.blossom.dialog.DialogDescriptionBuilder info.magnolia.module.blossom.dialog.DialogDescriptionBuilder$1 info.magnolia.module.blossom.dialog.DialogDescriptionBuilder$2 info.magnolia.module.blossom.dialog.DialogExporter info.magnolia.module.blossom.dialog.DialogFactoryMetaData info.magnolia.module.blossom.dialog.RuntimeRepositoryException | info.magnolia.module.blossom.render info.magnolia.module.blossom.template | com.vaadin.data info.magnolia.cms.core info.magnolia.cms.util info.magnolia.context info.magnolia.i18nsystem info.magnolia.module.blossom.annotation info.magnolia.module.blossom.support info.magnolia.objectfactory info.magnolia.registry info.magnolia.ui.admincentral.dialog.action info.magnolia.ui.api.context info.magnolia.ui.dialog info.magnolia.ui.dialog.actionarea info.magnolia.ui.dialog.config info.magnolia.ui.dialog.definition info.magnolia.ui.dialog.formdialog info.magnolia.ui.dialog.registry info.magnolia.ui.form info.magnolia.ui.form.config info.magnolia.ui.form.definition info.magnolia.ui.framework.config info.magnolia.ui.vaadin.integration.jcr java.lang java.lang.annotation java.lang.reflect java.util javax.jcr javax.servlet.http org.apache.commons.lang org.slf4j org.springframework.aop.support org.springframework.beans.factory org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 8 | 50.0% | 67.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.dispatcher.BlossomDispatcher info.magnolia.module.blossom.dispatcher.BlossomDispatcherAware | info.magnolia.module.blossom.dispatcher.BlossomDispatcherAwareBeanPostProcessor info.magnolia.module.blossom.dispatcher.BlossomDispatcherInitializedEvent | info.magnolia.module.blossom.preexecution info.magnolia.module.blossom.render info.magnolia.module.blossom.support info.magnolia.module.blossom.template | java.io java.lang javax.servlet javax.servlet.http org.springframework.beans org.springframework.beans.factory.config org.springframework.context org.springframework.web.servlet |
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.module.blossom.module.BlossomModuleSupport info.magnolia.module.blossom.module.BlossomModuleSupport$1 | None | info.magnolia.module.blossom.render info.magnolia.module.blossom.support info.magnolia.objectfactory java.lang java.util javax.servlet org.springframework.util org.springframework.web.context org.springframework.web.servlet |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 12 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.multipart.CompatibleAbstractMultipartHttpServletRequest | info.magnolia.module.blossom.multipart.BlossomMultipartFile info.magnolia.module.blossom.multipart.BlossomMultipartRequestWrapper info.magnolia.module.blossom.multipart.BlossomMultipartResolver | None | info.magnolia.cms.beans.runtime java.io java.lang java.lang.reflect java.util javax.servlet.http org.apache.commons.io org.slf4j org.springframework.http org.springframework.util org.springframework.web.multipart org.springframework.web.multipart.support |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 28 | 12.0% | 97.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.preexecution.DirectRenderingVoter | info.magnolia.module.blossom.preexecution.BlossomFilter info.magnolia.module.blossom.preexecution.BlossomHandlerMapping info.magnolia.module.blossom.preexecution.DefaultDirectRenderingVoter info.magnolia.module.blossom.preexecution.ModelAndViewGrabbingController info.magnolia.module.blossom.preexecution.ModelAndViewReuseController info.magnolia.module.blossom.preexecution.PreexecutionContext info.magnolia.module.blossom.preexecution.PreexecutionContextHolder | info.magnolia.module.blossom.setup | info.magnolia.cms.core info.magnolia.cms.filters info.magnolia.cms.util info.magnolia.context info.magnolia.module.blossom.dispatcher info.magnolia.module.blossom.render info.magnolia.module.blossom.support info.magnolia.module.blossom.template info.magnolia.objectfactory info.magnolia.rendering.context info.magnolia.rendering.engine java.io java.lang javax.jcr javax.jcr.nodetype javax.servlet javax.servlet.http org.slf4j org.springframework.beans org.springframework.beans.factory org.springframework.beans.factory.config org.springframework.context org.springframework.core org.springframework.web.servlet org.springframework.web.servlet.handler org.springframework.web.servlet.mvc org.springframework.web.servlet.mvc.annotation org.springframework.web.servlet.view |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 23 | 0.0% | 88.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.blossom.render.BlossomDispatcherServlet info.magnolia.module.blossom.render.BlossomTemplateRenderer info.magnolia.module.blossom.render.RenderContext | info.magnolia.module.blossom.module info.magnolia.module.blossom.preexecution info.magnolia.module.blossom.view | info.magnolia.cms.util info.magnolia.context info.magnolia.module.blossom.context info.magnolia.module.blossom.dialog info.magnolia.module.blossom.dispatcher info.magnolia.module.blossom.support info.magnolia.module.blossom.template info.magnolia.module.blossom.urimapping info.magnolia.rendering.context info.magnolia.rendering.engine info.magnolia.rendering.renderer java.io java.lang java.util javax.servlet javax.servlet.http org.springframework.beans org.springframework.beans.factory.config org.springframework.beans.factory.support org.springframework.context org.springframework.util org.springframework.web.context org.springframework.web.servlet |
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.module.blossom.setup.BlossomVersionHandler info.magnolia.module.blossom.setup.MultiCheckAndModifyPropertyValueTask info.magnolia.module.blossom.setup.RemoveNodeIfExistsTask | None | info.magnolia.module info.magnolia.module.blossom.preexecution info.magnolia.module.delta java.lang java.util javax.jcr org.apache.commons.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
9 | 21 | 20.0% | 70.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.support.AbstractBeanDetector info.magnolia.module.blossom.support.AbstractUrlMappedHandlerPostProcessor info.magnolia.module.blossom.support.ParameterResolver | info.magnolia.module.blossom.support.BeanFactoryUtils info.magnolia.module.blossom.support.CustomFilterConfig info.magnolia.module.blossom.support.CustomServletConfig info.magnolia.module.blossom.support.ForwardRequestWrapper info.magnolia.module.blossom.support.IncludeRequestWrapper info.magnolia.module.blossom.support.LazyInitPrintWriter info.magnolia.module.blossom.support.LazyInitPrintWriter$1 info.magnolia.module.blossom.support.MethodInvocationUtils info.magnolia.module.blossom.support.RepositoryUtils info.magnolia.module.blossom.support.ServletApiUtils info.magnolia.module.blossom.support.SpecialAttributeRequestWrapper info.magnolia.module.blossom.support.SpecialAttributeRequestWrapper$1 | info.magnolia.module.blossom.context info.magnolia.module.blossom.dialog info.magnolia.module.blossom.module info.magnolia.module.blossom.preexecution info.magnolia.module.blossom.render info.magnolia.module.blossom.taglib info.magnolia.module.blossom.template info.magnolia.module.blossom.urimapping info.magnolia.module.blossom.web | info.magnolia.cms.core info.magnolia.cms.util info.magnolia.context info.magnolia.module.blossom.dispatcher java.io java.lang java.lang.reflect java.util javax.jcr javax.servlet javax.servlet.http org.apache.commons.lang org.slf4j org.springframework.beans org.springframework.beans.factory org.springframework.beans.factory.config org.springframework.beans.factory.support org.springframework.context org.springframework.core org.springframework.util org.springframework.web.servlet.handler |
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.module.blossom.taglib.PecidInputTag info.magnolia.module.blossom.taglib.PecidTag | None | info.magnolia.cms.core info.magnolia.context info.magnolia.module.blossom.support java.io java.lang javax.servlet.jsp javax.servlet.jsp.tagext org.apache.commons.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 22 | 10.0% | 88.0% | 2.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.blossom.template.BlossomRenderable | info.magnolia.module.blossom.template.BlossomAreaDefinition info.magnolia.module.blossom.template.BlossomTemplateDefinition info.magnolia.module.blossom.template.BlossomTemplateDefinitionProvider info.magnolia.module.blossom.template.DetectedHandlersMetaData info.magnolia.module.blossom.template.HandlerMetaData info.magnolia.module.blossom.template.TemplateDefinitionBuilder info.magnolia.module.blossom.template.TemplateDefinitionBuilder$1 info.magnolia.module.blossom.template.TemplateDefinitionBuilder$DefaultTemplateAvailability info.magnolia.module.blossom.template.TemplateExporter | info.magnolia.module.blossom.preexecution info.magnolia.module.blossom.render info.magnolia.module.blossom.web | info.magnolia.cms.core info.magnolia.cms.util info.magnolia.module.blossom.annotation info.magnolia.module.blossom.dialog info.magnolia.module.blossom.dispatcher info.magnolia.module.blossom.support info.magnolia.objectfactory info.magnolia.registry info.magnolia.rendering.template info.magnolia.rendering.template.configured info.magnolia.rendering.template.registry info.magnolia.ui.dialog.registry java.lang java.lang.reflect java.util javax.jcr org.apache.commons.lang org.slf4j org.springframework.aop.support org.springframework.beans.factory org.springframework.context org.springframework.util |
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.module.blossom.urimapping.AnnotatedVirtualURIMappingExporter info.magnolia.module.blossom.urimapping.AnnotatedVirtualURIMappingExporter$1 info.magnolia.module.blossom.urimapping.BlossomVirtualURIMapping info.magnolia.module.blossom.urimapping.VirtualURIMappingAdapter info.magnolia.module.blossom.urimapping.VirtualURIMappingAdapter$1 info.magnolia.module.blossom.urimapping.VirtualURIMappingExporter | info.magnolia.module.blossom.render | info.magnolia.cms.beans.config info.magnolia.context info.magnolia.module.blossom.annotation info.magnolia.module.blossom.support java.lang java.lang.reflect java.util java.util.concurrent javax.servlet.http org.slf4j org.springframework.aop.support org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 22 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.blossom.view.FreemarkerTemplateViewRenderer info.magnolia.module.blossom.view.JspTemplateViewRenderer info.magnolia.module.blossom.view.TemplateView info.magnolia.module.blossom.view.TemplateViewResolver info.magnolia.module.blossom.view.UuidRedirectView info.magnolia.module.blossom.view.UuidRedirectViewResolver | None | info.magnolia.cms.core info.magnolia.context info.magnolia.link info.magnolia.module.blossom.render info.magnolia.rendering.context info.magnolia.rendering.engine info.magnolia.rendering.model info.magnolia.rendering.renderer info.magnolia.rendering.template java.lang java.util javax.jcr javax.servlet javax.servlet.http org.springframework.beans.factory org.springframework.context org.springframework.core org.springframework.util org.springframework.web.context org.springframework.web.servlet org.springframework.web.servlet.support org.springframework.web.servlet.view |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 20 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.blossom.web.BlossomWebArgumentResolver info.magnolia.module.blossom.web.InstallationAwareDelegatingFilterProxy info.magnolia.module.blossom.web.InstallationAwareDispatcherServlet info.magnolia.module.blossom.web.InstallationAwareServletProxy | None | info.magnolia.cms.core info.magnolia.cms.security info.magnolia.context info.magnolia.module info.magnolia.module.blossom.support info.magnolia.module.blossom.template info.magnolia.objectfactory info.magnolia.rendering.context info.magnolia.rendering.template java.io java.lang java.lang.reflect javax.jcr javax.servlet javax.servlet.http org.springframework.core org.springframework.web.bind.support org.springframework.web.context.request org.springframework.web.filter org.springframework.web.servlet |
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.module.blossom.xml.BlossomNamespaceHandler info.magnolia.module.blossom.xml.ConfiguredBeanBeanDefinitionParser info.magnolia.module.blossom.xml.MagnoliaComponentBeanDefinitionParser info.magnolia.module.blossom.xml.ObservedBeanBeanDefinitionParser | None | info.magnolia.module.blossom.context java.lang org.springframework.beans.factory.xml org.w3c.dom |
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. |