Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
14 | 6 | 0.0% | 30.000002% | 70.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.GoogleSiteMapConfiguration info.magnolia.module.googlesitemap.SiteMapNodeTypes info.magnolia.module.googlesitemap.SiteMapNodeTypes$GoogleSiteMap info.magnolia.module.googlesitemap.SiteMapNodeTypes$SiteMap |
info.magnolia.module.googlesitemap.app info.magnolia.module.googlesitemap.app.actions info.magnolia.module.googlesitemap.app.actions.availability info.magnolia.module.googlesitemap.app.field info.magnolia.module.googlesitemap.app.field.transformer info.magnolia.module.googlesitemap.app.subapp.sitemapdetail info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.util info.magnolia.module.googlesitemap.bean info.magnolia.module.googlesitemap.config info.magnolia.module.googlesitemap.config.mapping info.magnolia.module.googlesitemap.service info.magnolia.module.googlesitemap.setup info.magnolia.module.googlesitemap.setup.for2_1 info.magnolia.module.googlesitemap.setup.migration |
info.magnolia.jcr.util java.lang java.util javax.jcr org.apache.commons.lang3 org.apache.commons.lang3.time |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 3 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.GoogleSiteMapDropConstraint |
None | info.magnolia.module.googlesitemap info.magnolia.ui.vaadin.integration.contentconnector info.magnolia.ui.workbench.tree.drop |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 18 | 0.0% | 95.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.actions.ExportSiteMapToXMLAction info.magnolia.module.googlesitemap.app.actions.ExportSiteMapToXMLAction$1 info.magnolia.module.googlesitemap.app.actions.ExportSiteMapToXMLAction$DeleteOnCloseFileInputStream info.magnolia.module.googlesitemap.app.actions.ExportSiteMapToXMLActionDefinition info.magnolia.module.googlesitemap.app.actions.SaveSiteMapAction info.magnolia.module.googlesitemap.app.actions.SaveSiteMapActionDefinition |
info.magnolia.module.googlesitemap.setup.migration |
com.vaadin.server com.vaadin.v7.data info.magnolia.cms.core info.magnolia.i18nsystem info.magnolia.jcr.util info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.service info.magnolia.ui.admincentral.dialog.action info.magnolia.ui.api.action info.magnolia.ui.api.context info.magnolia.ui.form info.magnolia.ui.vaadin.integration.jcr info.magnolia.ui.vaadin.overlay java.io java.lang javax.jcr javax.xml.bind org.slf4j |
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.googlesitemap.app.actions.availability.IsSitemapEntryRule info.magnolia.module.googlesitemap.app.actions.availability.IsSitemapEntryRuleDefinition info.magnolia.module.googlesitemap.app.actions.availability.VirtualUriMappingEditingEnabledRule |
None | info.magnolia.jcr.util info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.bean info.magnolia.ui.api.availability info.magnolia.ui.vaadin.integration.jcr java.lang java.util javax.jcr org.slf4j |
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.module.googlesitemap.app.field.GoogleSiteMapSelectFieldFactory info.magnolia.module.googlesitemap.app.field.GoogleSiteMapSelectFieldFactoryDefinition info.magnolia.module.googlesitemap.app.field.TemplateStaticField info.magnolia.module.googlesitemap.app.field.TemplateStaticFieldDefinition info.magnolia.module.googlesitemap.app.field.TemplateStaticFieldFactory |
None | com.vaadin.ui com.vaadin.v7.data com.vaadin.v7.shared.ui.label com.vaadin.v7.ui info.magnolia.module.googlesitemap info.magnolia.rendering.template.registry info.magnolia.ui.form.field.definition info.magnolia.ui.form.field.factory info.magnolia.ui.vaadin.integration.jcr java.lang |
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.googlesitemap.app.field.transformer.SiteMapTransformer |
info.magnolia.module.googlesitemap.setup |
com.vaadin.v7.data info.magnolia.module.googlesitemap info.magnolia.ui.form.field.definition info.magnolia.ui.form.field.transformer.basic info.magnolia.ui.vaadin.integration.jcr java.lang java.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 16 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.SitemapEntryBrowserSubApp info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.SitemapEntryBrowserSubAppDescriptor |
None | info.magnolia.context info.magnolia.event info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector info.magnolia.ui.api.action info.magnolia.ui.api.app info.magnolia.ui.api.availability info.magnolia.ui.api.location info.magnolia.ui.api.view info.magnolia.ui.contentapp info.magnolia.ui.contentapp.browser info.magnolia.ui.vaadin.integration.contentconnector java.lang javax.jcr org.apache.jackrabbit.commons 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.module.googlesitemap.app.subapp.sitemapdetail.actions.EditSiteMapEntryAction info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.actions.EditSiteMapEntryAction$1 info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.actions.EditSiteMapEntryActionDefinition info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.actions.SaveSiteMapEntryDialogAction info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.actions.SaveSiteMapEntryDialogActionDefinition |
None | com.vaadin.v7.data com.vaadin.v7.data.util info.magnolia.event info.magnolia.module.googlesitemap.bean info.magnolia.module.googlesitemap.service info.magnolia.ui.api.action info.magnolia.ui.api.context info.magnolia.ui.api.event info.magnolia.ui.dialog.formdialog info.magnolia.ui.form info.magnolia.ui.framework.action java.lang javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 10 | 0.0% | 77.0% | 23.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector.SitemapContentConnector info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector.SitemapContentConnectorDefinition |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris |
com.vaadin.v7.data com.vaadin.v7.data.util info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.util info.magnolia.module.googlesitemap.bean info.magnolia.module.googlesitemap.service info.magnolia.ui.api.app info.magnolia.ui.contentapp.detail info.magnolia.ui.vaadin.integration.contentconnector java.lang org.apache.commons.lang3 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 50.0% | 67.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.HasColumnAlignmentSupport |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.SitemapTableColumnDefinition |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris |
com.vaadin.v7.ui info.magnolia.ui.api.view info.magnolia.ui.workbench.column.definition java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 4 | 0.0% | 80.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.component.SiteMapTreeTable |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages |
com.vaadin.v7.data info.magnolia.ui.vaadin.grid java.lang org.apache.commons.lang3 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 10 | 0.0% | 91.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.formatter.FolderNameColumnFormatter |
info.magnolia.module.googlesitemap.setup |
com.vaadin.v7.data com.vaadin.v7.ui info.magnolia.jcr.util info.magnolia.ui.vaadin.integration.jcr info.magnolia.ui.workbench.column info.magnolia.ui.workbench.column.definition info.magnolia.util java.lang javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 17 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages.SitemapTreeView |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages.SitemapPagesPresenter info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages.SitemapPagesPresenter$1 info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages.SitemapTreeViewImpl |
None | com.vaadin.v7.data com.vaadin.v7.ui info.magnolia.event info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.component info.magnolia.module.googlesitemap.bean info.magnolia.objectfactory info.magnolia.ui.vaadin.grid info.magnolia.ui.vaadin.integration.contentconnector info.magnolia.ui.workbench info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.list info.magnolia.ui.workbench.tree java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 16 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris.SitemapListView |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris.SitemapListViewImpl info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris.SitemapListViewImpl$1 info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris.SitemapVirtualUriPresenter |
None | com.vaadin.v7.data com.vaadin.v7.ui info.magnolia.event info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews info.magnolia.module.googlesitemap.bean info.magnolia.objectfactory info.magnolia.ui.vaadin.grid info.magnolia.ui.vaadin.integration.contentconnector info.magnolia.ui.workbench info.magnolia.ui.workbench.column.definition info.magnolia.ui.workbench.definition info.magnolia.ui.workbench.list java.lang java.util org.apache.commons.lang3 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 11 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.util.SiteMapEntryContainer |
info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector |
com.vaadin.v7.data com.vaadin.v7.data.util info.magnolia.jcr.util info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.bean info.magnolia.module.googlesitemap.service info.magnolia.ui.workbench.container java.lang java.util javax.jcr org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 6 | 33.0% | 46.0% | 21.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.googlesitemap.bean.package-info |
info.magnolia.module.googlesitemap.bean.SiteMapEntry info.magnolia.module.googlesitemap.bean.SiteMapEntryList |
info.magnolia.module.googlesitemap.app.actions.availability info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.actions info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.pages info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.virtualuris info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.util info.magnolia.module.googlesitemap.service |
info.magnolia.jcr.util info.magnolia.module.googlesitemap java.lang java.util javax.jcr org.apache.commons.lang3.time |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 12 | 0.0% | 86.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | info.magnolia.module.googlesitemap.config.SiteMapType info.magnolia.module.googlesitemap.config.SiteMapVirtualUriMapping info.magnolia.module.googlesitemap.config.SiteMapVirtualUriMapping$1 info.magnolia.module.googlesitemap.config.SiteMapVirtualUriMapping$2 |
info.magnolia.module.googlesitemap.service info.magnolia.module.googlesitemap.setup.migration |
info.magnolia.cms.beans.config info.magnolia.cms.util info.magnolia.context info.magnolia.jcr.predicate info.magnolia.jcr.util info.magnolia.module.googlesitemap java.lang java.util javax.jcr javax.jcr.observation org.apache.commons.lang3 org.slf4j |
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.module.googlesitemap.config.mapping.SiteMapVirtualUriMapping$1 |
info.magnolia.module.googlesitemap.setup |
info.magnolia.jcr.predicate info.magnolia.jcr.util info.magnolia.module.googlesitemap java.lang javax.jcr |
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.module.googlesitemap.model.SiteMapModel |
None | info.magnolia.context info.magnolia.module.googlesitemap.service info.magnolia.rendering.model info.magnolia.rendering.template java.lang java.util javax.jcr javax.servlet.http javax.xml.bind org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 22 | 20.0% | 81.0% | 1.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
info.magnolia.module.googlesitemap.service.SiteMapXMLUtil |
info.magnolia.module.googlesitemap.service.DelegatingXMLStreamWriter info.magnolia.module.googlesitemap.service.SiteMapService info.magnolia.module.googlesitemap.service.SiteMapXMLUtilImpl info.magnolia.module.googlesitemap.service.SiteMapXMLUtilImpl$1 |
info.magnolia.module.googlesitemap.app.actions info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.actions info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentconnector info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.util info.magnolia.module.googlesitemap.model |
info.magnolia.cms.i18n info.magnolia.context info.magnolia.jcr.util info.magnolia.link info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.bean info.magnolia.module.googlesitemap.config info.magnolia.module.googlesitemap.service.query info.magnolia.module.site info.magnolia.objectfactory info.magnolia.repository java.io java.lang java.util javax.inject javax.jcr javax.xml.bind javax.xml.namespace javax.xml.stream org.apache.jackrabbit.commons.iterator org.apache.jackrabbit.commons.predicate org.slf4j |
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.module.googlesitemap.service.query.QueryUtil |
info.magnolia.module.googlesitemap.service |
info.magnolia.context java.lang javax.jcr javax.jcr.query org.slf4j |
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.googlesitemap.setup.GoogleSiteMapVersionHandler info.magnolia.module.googlesitemap.setup.GoogleSiteMapVersionHandler$1 info.magnolia.module.googlesitemap.setup.GoogleSiteMapVersionHandler$2 |
None | com.google.common.collect info.magnolia.cms.security info.magnolia.jcr.util info.magnolia.module info.magnolia.module.delta info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.app.field.transformer info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.formatter info.magnolia.module.googlesitemap.config.mapping info.magnolia.module.googlesitemap.setup.for2_1 info.magnolia.module.googlesitemap.setup.migration info.magnolia.repository info.magnolia.ui.contentapp info.magnolia.ui.contentapp.setup.for5_3 info.magnolia.ui.framework.setup info.magnolia.virtualuri.setup.delta java.lang java.util javax.jcr org.apache.commons.lang3 |
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.module.googlesitemap.setup.for2_1.Register21NodeTypeTask info.magnolia.module.googlesitemap.setup.for2_1.RenameSiteMapeSitePagesPropertyName info.magnolia.module.googlesitemap.setup.for2_1.UpdatePropertyNamesAndNodeStructure info.magnolia.module.googlesitemap.setup.for2_1.UpdatePropertyNamesAndNodeStructure$1 info.magnolia.module.googlesitemap.setup.for2_1.UpdatePropertyNamesAndNodeStructure$SiteMapPropertyVisitor |
info.magnolia.module.googlesitemap.setup |
info.magnolia.jcr.util info.magnolia.jcr.wrapper info.magnolia.module info.magnolia.module.delta info.magnolia.module.googlesitemap info.magnolia.repository info.magnolia.setup.for5_0 java.lang java.util javax.jcr javax.jcr.nodetype javax.jcr.query javax.jcr.version org.apache.commons.lang3 org.slf4j |
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.module.googlesitemap.setup.migration.Removei18nKeysInSiteMapMigrationTask info.magnolia.module.googlesitemap.setup.migration.SiteMapDefinitionMigrationTask info.magnolia.module.googlesitemap.setup.migration.SiteMapDialogMigrationTask |
info.magnolia.module.googlesitemap.setup |
info.magnolia.cms.util info.magnolia.i18nsystem.setup info.magnolia.jcr.util info.magnolia.jcr.wrapper info.magnolia.module info.magnolia.module.delta info.magnolia.module.googlesitemap info.magnolia.module.googlesitemap.app.actions info.magnolia.module.googlesitemap.config info.magnolia.repository info.magnolia.ui.admincentral.dialog.action info.magnolia.ui.dialog.setup info.magnolia.ui.dialog.setup.migration java.lang java.util javax.jcr javax.jcr.query org.apache.commons.lang3 org.slf4j |
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. |