Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.nuxeo.build.ant | 12 | 12 | 0 | 5 | 16 | 0.0% | 76.0% | 24.0% | 1 |
org.nuxeo.build.ant.artifact | 20 | 20 | 0 | 1 | 23 | 0.0% | 96.0% | 4.0% | 1 |
org.nuxeo.build.ant.ftl | 2 | 2 | 0 | 0 | 7 | 0.0% | 100.0% | 0.0% | 1 |
org.nuxeo.build.ant.profile | 4 | 4 | 0 | 2 | 6 | 0.0% | 75.0% | 25.0% | 1 |
org.nuxeo.build.maven | 5 | 5 | 0 | 5 | 33 | 0.0% | 87.0% | 13.0% | 1 |
org.nuxeo.build.maven.filter | 24 | 19 | 5 | 3 | 14 | 21.0% | 82.0% | 3.0% | 1 |
org.nuxeo.build.maven.graph | 7 | 6 | 1 | 3 | 27 | 14.0% | 90.0% | 4.0% | 1 |
org.nuxeo.connect.update | 1 | 1 | 0 | 1 | 4 | 0.0% | 80.0% | 20.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 16 | 0.0% | 76.0% | 24.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.nuxeo.build.ant.AntClient org.nuxeo.build.ant.AntClient$1 org.nuxeo.build.ant.ExitTask org.nuxeo.build.ant.ExitTask$1 org.nuxeo.build.ant.ExitTask$False org.nuxeo.build.ant.OldVersion org.nuxeo.build.ant.PropertyRegexp org.nuxeo.build.ant.RemoveDuplicateTask org.nuxeo.build.ant.RemoveDuplicateTask$Entry org.nuxeo.build.ant.RenameTask org.nuxeo.build.ant.Version org.nuxeo.build.ant.ZipDiffTask |
org.nuxeo.build.ant.artifact org.nuxeo.build.ant.profile org.nuxeo.build.maven org.nuxeo.build.maven.filter org.nuxeo.build.maven.graph |
java.io java.lang java.net java.util java.util.regex java.util.zip org.apache.commons.io org.apache.maven.plugin.logging org.apache.tools.ant org.apache.tools.ant.input org.apache.tools.ant.listener org.apache.tools.ant.taskdefs org.apache.tools.ant.taskdefs.condition org.apache.tools.ant.types org.codehaus.plexus.util org.nuxeo.connect.update |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 23 | 0.0% | 96.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.nuxeo.build.ant.artifact.ArtifactDependencies org.nuxeo.build.ant.artifact.ArtifactFile org.nuxeo.build.ant.artifact.ArtifactForeach org.nuxeo.build.ant.artifact.ArtifactPattern org.nuxeo.build.ant.artifact.ArtifactSet org.nuxeo.build.ant.artifact.ArtifactSetParser org.nuxeo.build.ant.artifact.AttachArtifactTask org.nuxeo.build.ant.artifact.Excludes org.nuxeo.build.ant.artifact.Expand org.nuxeo.build.ant.artifact.ExpandTask org.nuxeo.build.ant.artifact.FiltersCollection org.nuxeo.build.ant.artifact.Includes org.nuxeo.build.ant.artifact.NuxeoExpandTask org.nuxeo.build.ant.artifact.NuxeoExpandTask$1 org.nuxeo.build.ant.artifact.PrintDependencyManagementTask org.nuxeo.build.ant.artifact.PrintDependencyManagementTask$1 org.nuxeo.build.ant.artifact.PrintDependencyManagementTask$FORMAT org.nuxeo.build.ant.artifact.PrintGraphTask org.nuxeo.build.ant.artifact.ResolveFile org.nuxeo.build.ant.artifact.ResolveFiles |
org.nuxeo.build.maven |
java.io java.lang java.util org.apache.commons.io org.apache.commons.io.filefilter org.apache.maven org.apache.maven.artifact org.apache.maven.project org.apache.tools.ant org.apache.tools.ant.taskdefs org.apache.tools.ant.types org.apache.tools.ant.types.resources org.eclipse.aether org.eclipse.aether.artifact org.eclipse.aether.graph org.eclipse.aether.resolution org.eclipse.aether.util org.eclipse.aether.util.graph.visitor org.nuxeo.build.ant org.nuxeo.build.ant.profile org.nuxeo.build.maven org.nuxeo.build.maven.filter org.nuxeo.build.maven.graph |
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 | org.nuxeo.build.ant.ftl.FreemarkerEngine org.nuxeo.build.ant.ftl.ProcessTemplateTask |
None | freemarker.cache freemarker.template java.io java.lang java.util org.apache.tools.ant org.nuxeo.build.maven |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 6 | 0.0% | 75.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.nuxeo.build.ant.profile.AntProfileManager org.nuxeo.build.ant.profile.Profile org.nuxeo.build.ant.profile.ProfileGroup org.nuxeo.build.ant.profile.ProfileTask |
org.nuxeo.build.ant.artifact org.nuxeo.build.maven |
java.lang java.util org.apache.tools.ant org.apache.tools.ant.taskdefs org.nuxeo.build.ant org.nuxeo.build.maven |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 33 | 0.0% | 87.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.nuxeo.build.maven.AntBuildMojo org.nuxeo.build.maven.ArtifactDescriptor org.nuxeo.build.maven.HelpMojo org.nuxeo.build.maven.IntegrationTestMojo org.nuxeo.build.maven.VerifyMojo |
org.nuxeo.build.ant.artifact org.nuxeo.build.ant.ftl org.nuxeo.build.ant.profile org.nuxeo.build.maven.filter org.nuxeo.build.maven.graph |
java.io java.lang java.util java.util.regex javax.xml.parsers org.apache.maven.artifact org.apache.maven.artifact.handler.manager org.apache.maven.artifact.repository org.apache.maven.model org.apache.maven.plugin org.apache.maven.plugin.logging org.apache.maven.plugin.surefire org.apache.maven.plugins.surefire.report org.apache.maven.project org.apache.maven.reporting org.apache.maven.settings org.apache.maven.surefire.suite org.apache.tools.ant org.apache.tools.ant.taskdefs.optional.testing org.apache.tools.ant.types org.codehaus.plexus.util org.eclipse.aether org.eclipse.aether.artifact org.eclipse.aether.collection org.eclipse.aether.graph org.eclipse.aether.util.graph.selector org.nuxeo.build.ant org.nuxeo.build.ant.artifact org.nuxeo.build.ant.profile org.nuxeo.build.maven.filter org.nuxeo.build.maven.graph org.w3c.dom org.xml.sax |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 14 | 21.0% | 82.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.nuxeo.build.maven.filter.AbstractFilter org.nuxeo.build.maven.filter.ArtifactFilter org.nuxeo.build.maven.filter.CompositeFilter org.nuxeo.build.maven.filter.Filter org.nuxeo.build.maven.filter.SegmentMatch |
org.nuxeo.build.maven.filter.AncestorFilter org.nuxeo.build.maven.filter.AndFilter org.nuxeo.build.maven.filter.AnyFilter org.nuxeo.build.maven.filter.ArtifactIdFilter org.nuxeo.build.maven.filter.ClassifierFilter org.nuxeo.build.maven.filter.ExactMatch org.nuxeo.build.maven.filter.GroupIdFilter org.nuxeo.build.maven.filter.IsOptionalFilter org.nuxeo.build.maven.filter.ManifestBundleCategoryFilter org.nuxeo.build.maven.filter.MiddleMatch org.nuxeo.build.maven.filter.NotFilter org.nuxeo.build.maven.filter.OrFilter org.nuxeo.build.maven.filter.PrefixMatch org.nuxeo.build.maven.filter.ScopeFilter org.nuxeo.build.maven.filter.SegmentMatch$1 org.nuxeo.build.maven.filter.SuffixMatch org.nuxeo.build.maven.filter.TrueFilter org.nuxeo.build.maven.filter.TypeFilter org.nuxeo.build.maven.filter.VersionFilter |
org.nuxeo.build.ant.artifact org.nuxeo.build.maven org.nuxeo.build.maven.graph |
java.io java.lang java.lang.reflect java.util java.util.jar org.apache.maven.artifact org.apache.maven.plugin.logging org.apache.tools.ant org.eclipse.aether.artifact org.eclipse.aether.graph org.eclipse.aether.version org.nuxeo.build.ant org.nuxeo.build.maven org.nuxeo.build.maven.graph |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 27 | 14.0% | 90.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.nuxeo.build.maven.graph.AbstractDependencyVisitor |
org.nuxeo.build.maven.graph.DependencyUtils org.nuxeo.build.maven.graph.FlatPrinterDependencyVisitor org.nuxeo.build.maven.graph.Graph org.nuxeo.build.maven.graph.Node org.nuxeo.build.maven.graph.ScopeDependencySelector org.nuxeo.build.maven.graph.TreePrinterDependencyVisitor |
org.nuxeo.build.ant.artifact org.nuxeo.build.maven org.nuxeo.build.maven.filter |
java.io java.lang java.util org.apache.maven org.apache.maven.artifact org.apache.maven.artifact.handler org.apache.maven.artifact.handler.manager org.apache.maven.artifact.repository org.apache.maven.artifact.resolver org.apache.maven.artifact.versioning org.apache.maven.model org.apache.maven.plugin.logging org.apache.maven.project org.apache.tools.ant org.codehaus.plexus.util org.eclipse.aether org.eclipse.aether.artifact org.eclipse.aether.collection org.eclipse.aether.graph org.eclipse.aether.resolution org.eclipse.aether.util.artifact org.eclipse.aether.util.graph.manager org.eclipse.aether.util.graph.visitor org.eclipse.aether.version org.nuxeo.build.ant org.nuxeo.build.maven org.nuxeo.build.maven.filter |
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 | org.nuxeo.connect.update.Version |
org.nuxeo.build.ant |
java.lang java.util.regex org.codehaus.plexus.logging org.codehaus.plexus.logging.console |
Package | Package Dependencies |
---|---|
org.nuxeo.build.ant.artifact | org.nuxeo.build.maven org.nuxeo.build.maven.filter org.nuxeo.build.maven |
org.nuxeo.build.ant.ftl | org.nuxeo.build.maven org.nuxeo.build.maven.filter org.nuxeo.build.maven |
org.nuxeo.build.ant.profile | org.nuxeo.build.maven org.nuxeo.build.maven.filter org.nuxeo.build.maven |
org.nuxeo.build.maven | org.nuxeo.build.maven.filter org.nuxeo.build.maven |
org.nuxeo.build.maven.filter | org.nuxeo.build.maven org.nuxeo.build.maven.filter |
org.nuxeo.build.maven.graph | org.nuxeo.build.maven org.nuxeo.build.maven.filter org.nuxeo.build.maven |
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. |