Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
info.magnolia.cms.beans.config | 2 | 1 | 1 | 2 | 9 | 50.0% | 82.0% | 32.0% | 1 |
info.magnolia.cms.beans.runtime | 1 | 1 | 0 | 3 | 6 | 0.0% | 67.0% | 33.0% | 1 |
info.magnolia.cms.core | 12 | 5 | 7 | 15 | 20 | 58.0% | 57.0% | 15.000001% | 1 |
info.magnolia.cms.core.search | 6 | 3 | 3 | 2 | 11 | 50.0% | 85.0% | 35.0% | 1 |
info.magnolia.cms.core.version | 4 | 4 | 0 | 2 | 13 | 0.0% | 87.0% | 13.0% | 1 |
info.magnolia.cms.exchange | 1 | 0 | 1 | 0 | 6 | 100.0% | 100.0% | 100.0% | 1 |
info.magnolia.cms.servlets | 4 | 0 | 4 | 0 | 12 | 100.0% | 100.0% | 100.0% | 1 |
info.magnolia.cms.util | 32 | 27 | 5 | 12 | 25 | 16.0% | 68.0% | 17.0% | 1 |
info.magnolia.content2bean | 18 | 12 | 6 | 1 | 11 | 33.0% | 92.0% | 25.0% | 1 |
info.magnolia.content2bean.impl | 12 | 12 | 0 | 1 | 15 | 0.0% | 94.0% | 6.0% | 1 |
info.magnolia.freemarker.models | 1 | 1 | 0 | 0 | 8 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.importexport | 2 | 2 | 0 | 1 | 9 | 0.0% | 90.0% | 10.0% | 1 |
info.magnolia.module.delta | 9 | 6 | 3 | 3 | 10 | 33.0% | 77.0% | 10.0% | 1 |
info.magnolia.nodebuilder | 30 | 24 | 6 | 1 | 12 | 20.0% | 92.0% | 12.0% | 1 |
info.magnolia.nodebuilder.task | 7 | 6 | 1 | 0 | 8 | 14.0% | 100.0% | 14.0% | 1 |
info.magnolia.setup | 2 | 2 | 0 | 0 | 13 | 0.0% | 100.0% | 0.0% | 1 |
info.magnolia.setup.initial | 6 | 6 | 0 | 0 | 11 | 0.0% | 100.0% | 0.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 9 | 50.0% | 82.0% | 32.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.cms.beans.config.ObservedManager |
info.magnolia.cms.beans.config.ObservedManager$1 |
info.magnolia.cms.beans.runtime info.magnolia.setup.initial |
info.magnolia.cms.core info.magnolia.cms.util info.magnolia.context info.magnolia.repository java.lang java.util javax.jcr javax.jcr.observation org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 6 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.cms.beans.runtime.FileProperties |
info.magnolia.cms.util info.magnolia.freemarker.models info.magnolia.nodebuilder |
info.magnolia.cms.beans.config info.magnolia.cms.core java.lang javax.jcr org.apache.commons.lang3 org.apache.commons.lang3.math |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
15 | 20 | 58.0% | 57.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.cms.core.AbstractContent info.magnolia.cms.core.AbstractNodeData info.magnolia.cms.core.Content info.magnolia.cms.core.Content$ContentFilter info.magnolia.cms.core.ContentHandler info.magnolia.cms.core.HierarchyManager info.magnolia.cms.core.NodeData |
info.magnolia.cms.core.BinaryNodeData info.magnolia.cms.core.DefaultHierarchyManager info.magnolia.cms.core.DefaultNodeData info.magnolia.cms.core.ItemType info.magnolia.cms.core.NonExistingNodeData |
info.magnolia.cms.beans.config info.magnolia.cms.beans.runtime info.magnolia.cms.core.search info.magnolia.cms.core.version info.magnolia.cms.exchange info.magnolia.cms.util info.magnolia.content2bean info.magnolia.content2bean.impl info.magnolia.freemarker.models info.magnolia.importexport info.magnolia.module.delta info.magnolia.nodebuilder info.magnolia.nodebuilder.task info.magnolia.setup info.magnolia.setup.initial |
info.magnolia.cms.core.search info.magnolia.cms.core.version info.magnolia.cms.i18n info.magnolia.cms.security info.magnolia.cms.util info.magnolia.context info.magnolia.jcr info.magnolia.jcr.util info.magnolia.jcr.wrapper info.magnolia.repository java.io java.lang java.util javax.jcr javax.jcr.lock javax.jcr.nodetype javax.jcr.version org.apache.commons.lang3 org.apache.jackrabbit org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 11 | 50.0% | 85.0% | 35.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.cms.core.search.Query info.magnolia.cms.core.search.QueryManager info.magnolia.cms.core.search.QueryResult |
info.magnolia.cms.core.search.QueryImpl info.magnolia.cms.core.search.QueryManagerImpl info.magnolia.cms.core.search.QueryResultImpl |
info.magnolia.cms.core info.magnolia.cms.util |
info.magnolia.cms.core info.magnolia.cms.security java.lang java.util javax.jcr javax.jcr.lock javax.jcr.nodetype javax.jcr.query javax.jcr.version org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 13 | 0.0% | 87.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.cms.core.version.ContentVersion info.magnolia.cms.core.version.ContentVersion$1 info.magnolia.cms.core.version.ContentVersion$ContentVersionChildWrapper info.magnolia.cms.core.version.ContentVersion$ContentVersionChildWrapper$1 |
info.magnolia.cms.core info.magnolia.cms.util |
info.magnolia.cms.core info.magnolia.cms.security info.magnolia.cms.util info.magnolia.objectfactory info.magnolia.repository java.lang java.util javax.jcr javax.jcr.lock javax.jcr.nodetype javax.jcr.version org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 6 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.cms.exchange.Syndicator |
None | None | info.magnolia.cms.core info.magnolia.cms.security info.magnolia.cms.util java.lang java.util javax.jcr |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 12 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.cms.servlets.CommandBasedMVCServletHandler info.magnolia.cms.servlets.MVCServlet info.magnolia.cms.servlets.MVCServletHandler info.magnolia.cms.servlets.MVCServletHandlerImpl |
None | None | info.magnolia.cms.util info.magnolia.commands info.magnolia.commands.chain info.magnolia.context java.io java.lang java.lang.reflect java.util javax.servlet javax.servlet.http org.apache.commons.beanutils org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
12 | 25 | 16.0% | 68.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.cms.util.ContentUtil$PostVisitor info.magnolia.cms.util.ContentUtil$Visitor info.magnolia.cms.util.ContentWrapper info.magnolia.cms.util.HierarchyManagerWrapper info.magnolia.cms.util.NodeDataWrapper |
info.magnolia.cms.util.ContentUtil info.magnolia.cms.util.ContentUtil$1 info.magnolia.cms.util.ContentUtil$2 info.magnolia.cms.util.ContentUtil$3 info.magnolia.cms.util.ContentUtil$4 info.magnolia.cms.util.CreationDateComparator info.magnolia.cms.util.ExtendingContentWrapper info.magnolia.cms.util.ExtendingContentWrapper$1 info.magnolia.cms.util.HierarchyManagerUtil info.magnolia.cms.util.InheritanceContentWrapper info.magnolia.cms.util.LazyContentWrapper info.magnolia.cms.util.LazyNodeDataWrapper info.magnolia.cms.util.MetaDataUtil info.magnolia.cms.util.NodeDataStringComparator info.magnolia.cms.util.NodeDataUtil info.magnolia.cms.util.NodeMapWrapper info.magnolia.cms.util.NodeMapWrapper$1 info.magnolia.cms.util.NodeNameComparator info.magnolia.cms.util.NodePathComparator info.magnolia.cms.util.NodeTypeFilter info.magnolia.cms.util.NodeUuidComparator info.magnolia.cms.util.RequestFormUtil info.magnolia.cms.util.RuleBasedContentFilter info.magnolia.cms.util.SearchReplace info.magnolia.cms.util.SiblingsHelper info.magnolia.cms.util.SystemContentWrapper info.magnolia.cms.util.SystemNodeDataWrapper |
info.magnolia.cms.beans.config info.magnolia.cms.core info.magnolia.cms.core.version info.magnolia.cms.exchange info.magnolia.cms.servlets info.magnolia.content2bean info.magnolia.content2bean.impl info.magnolia.importexport info.magnolia.module.delta info.magnolia.nodebuilder info.magnolia.nodebuilder.task info.magnolia.setup.initial |
info.magnolia.cms.beans.runtime info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core.version info.magnolia.cms.i18n info.magnolia.cms.security info.magnolia.context info.magnolia.jcr.util info.magnolia.link info.magnolia.objectfactory info.magnolia.repository java.io java.lang java.net java.util java.util.regex javax.jcr javax.jcr.lock javax.jcr.nodetype javax.jcr.version javax.servlet.http org.apache.commons.beanutils org.apache.commons.io org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 11 | 33.0% | 92.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.content2bean.Bean2ContentProcessor info.magnolia.content2bean.Bean2ContentTransformer info.magnolia.content2bean.Content2BeanProcessor info.magnolia.content2bean.Content2BeanTransformer info.magnolia.content2bean.TransformationState info.magnolia.content2bean.TypeMapping |
info.magnolia.content2bean.Bean2ContentProcessor$Factory info.magnolia.content2bean.Content2BeanException info.magnolia.content2bean.Content2BeanProcessor$Factory info.magnolia.content2bean.Content2BeanTransformer$Factory info.magnolia.content2bean.Content2BeanUtil info.magnolia.content2bean.Content2BeanUtil$1 info.magnolia.content2bean.Content2BeanUtil$2 info.magnolia.content2bean.Content2BeanUtil$DefaultClassTransformer info.magnolia.content2bean.Content2BeanUtil$ToMapTransformer info.magnolia.content2bean.PropertyTypeDescriptor info.magnolia.content2bean.TypeDescriptor info.magnolia.content2bean.TypeMapping$Factory |
info.magnolia.content2bean.impl |
info.magnolia.cms.core info.magnolia.cms.util info.magnolia.content2bean.impl info.magnolia.exception info.magnolia.objectfactory java.beans java.lang java.lang.reflect java.util javax.jcr org.apache.commons.beanutils |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 15 | 0.0% | 94.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.content2bean.impl.CollectionPropertyHidingTransformer info.magnolia.content2bean.impl.Content2BeanProcessorImpl info.magnolia.content2bean.impl.Content2BeanTransformerImpl info.magnolia.content2bean.impl.DescriptorFileBasedTypeMapping info.magnolia.content2bean.impl.DescriptorFileBasedTypeMapping$1 info.magnolia.content2bean.impl.EnumAwareConvertUtilsBean info.magnolia.content2bean.impl.EnumAwareConvertUtilsBean$1 info.magnolia.content2bean.impl.EnumAwareConvertUtilsBean$EnumConverter info.magnolia.content2bean.impl.PropertiesBasedTypeDescriptor info.magnolia.content2bean.impl.PropertiesBasedTypeMapping info.magnolia.content2bean.impl.TransformationStateImpl info.magnolia.content2bean.impl.TypeMappingImpl |
info.magnolia.content2bean |
info.magnolia.cms.core info.magnolia.cms.util info.magnolia.content2bean info.magnolia.objectfactory java.beans java.io java.lang java.lang.reflect java.util javax.jcr org.apache.commons.beanutils org.apache.commons.collections4 org.apache.commons.io org.apache.commons.lang3 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.freemarker.models.BinaryNodeDataModel |
None | freemarker.template info.magnolia.cms.beans.runtime info.magnolia.cms.core java.lang java.text java.util javax.jcr org.apache.commons.lang3 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 0.0% | 90.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.importexport.PropertiesImportExport info.magnolia.importexport.PropertiesImportExport$1 |
info.magnolia.module.delta |
info.magnolia.cms.core info.magnolia.cms.util java.io java.lang java.util javax.jcr org.apache.commons.beanutils org.apache.commons.lang3 org.apache.jackrabbit.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 10 | 33.0% | 77.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.delta.AllChildrenNodesOperation info.magnolia.module.delta.AllModulesNodeOperation info.magnolia.module.delta.NodeCheckDelegateTask |
info.magnolia.module.delta.IsAuthorInstanceDelegateTask info.magnolia.module.delta.PropertiesImportTask info.magnolia.module.delta.PropertyExistsDelegateTask info.magnolia.module.delta.PropertyValueDelegateTask info.magnolia.module.delta.RenamePropertyAllModulesNodeTask info.magnolia.module.delta.RenamePropertyAllModulesNodeTask$1 |
info.magnolia.nodebuilder.task info.magnolia.setup info.magnolia.setup.initial |
info.magnolia.cms.core info.magnolia.cms.util info.magnolia.importexport info.magnolia.module info.magnolia.repository java.io java.lang java.util javax.jcr org.apache.commons.lang3 |
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.nodebuilder.AbstractErrorHandler info.magnolia.nodebuilder.AbstractNodeOperation info.magnolia.nodebuilder.ErrorHandler info.magnolia.nodebuilder.NodeOperation info.magnolia.nodebuilder.Ops info.magnolia.nodebuilder.Ops$AbstractOp |
info.magnolia.nodebuilder.ContentOps info.magnolia.nodebuilder.ContentOps$1 info.magnolia.nodebuilder.ContentOps$2 info.magnolia.nodebuilder.ContentOps$3 info.magnolia.nodebuilder.NodeBuilder info.magnolia.nodebuilder.NodeBuilderUtil info.magnolia.nodebuilder.NodeOperationException info.magnolia.nodebuilder.Ops$1 info.magnolia.nodebuilder.Ops$10 info.magnolia.nodebuilder.Ops$11 info.magnolia.nodebuilder.Ops$12 info.magnolia.nodebuilder.Ops$13 info.magnolia.nodebuilder.Ops$14 info.magnolia.nodebuilder.Ops$2 info.magnolia.nodebuilder.Ops$3 info.magnolia.nodebuilder.Ops$4 info.magnolia.nodebuilder.Ops$5 info.magnolia.nodebuilder.Ops$6 info.magnolia.nodebuilder.Ops$7 info.magnolia.nodebuilder.Ops$8 info.magnolia.nodebuilder.Ops$9 info.magnolia.nodebuilder.RecursiveOp info.magnolia.nodebuilder.RecursiveOp$1 info.magnolia.nodebuilder.StrictErrorHandler |
info.magnolia.nodebuilder.task |
info.magnolia.cms.beans.runtime info.magnolia.cms.core info.magnolia.cms.util info.magnolia.context info.magnolia.jcr.nodebuilder info.magnolia.jcr.util java.io java.lang java.util javax.jcr org.apache.commons.collections4 org.apache.commons.lang3 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 14.0% | 100.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.nodebuilder.task.AbstractNodeBuilderTask |
info.magnolia.nodebuilder.task.AbstractNodeBuilderTask$1 info.magnolia.nodebuilder.task.ErrorHandling info.magnolia.nodebuilder.task.ModuleConfigNodeBuilderTask info.magnolia.nodebuilder.task.ModuleNodeBuilderTask info.magnolia.nodebuilder.task.NodeBuilderTask info.magnolia.nodebuilder.task.TaskLogErrorHandler |
None | info.magnolia.cms.core info.magnolia.cms.util info.magnolia.module info.magnolia.module.delta info.magnolia.nodebuilder java.lang javax.jcr org.apache.commons.lang3 |
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.setup.HashUsersPasswords info.magnolia.setup.HashUsersPasswords$1 |
None | info.magnolia.cms.core info.magnolia.cms.security info.magnolia.jcr.util info.magnolia.module info.magnolia.module.delta info.magnolia.repository java.io java.lang java.util javax.jcr org.apache.commons.codec.binary org.apache.commons.lang3 org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.setup.initial.AddURIPermissionsToAllRoles info.magnolia.setup.initial.AddURIPermissionsToAllRoles$1 info.magnolia.setup.initial.UpdateURI2RepositoryMappings info.magnolia.setup.initial.UpdateURIMappings info.magnolia.setup.initial.UpdateURIMappings$1 info.magnolia.setup.initial.WarnIgnoredModuleFilters |
None | info.magnolia.cms.beans.config info.magnolia.cms.core info.magnolia.cms.util info.magnolia.jcr.util info.magnolia.module info.magnolia.module.delta info.magnolia.repository java.lang java.util javax.jcr org.slf4j |
Package | Package Dependencies |
---|---|
info.magnolia.cms.beans.config | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.cms.beans.runtime | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.cms.core | info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.cms.core.search | info.magnolia.cms.core info.magnolia.cms.core.search |
info.magnolia.cms.core.version | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.cms.exchange | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.cms.servlets | info.magnolia.cms.util info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.cms.util | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.content2bean | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.content2bean.impl | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.freemarker.models | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.importexport | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.module.delta | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.nodebuilder | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.nodebuilder.task | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.setup | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
info.magnolia.setup.initial | info.magnolia.cms.core info.magnolia.cms.core.search info.magnolia.cms.core |
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. |