Parent Project
Foundation

Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package TC CC AC Ca Ce A I D V
org.apache.myfaces.tobago.application 2 2 0 0 14 0.0% 100.0% 0.0% 1
org.apache.myfaces.tobago.component 2 1 1 4 9 50.0% 69.0% 19.0% 1
org.apache.myfaces.tobago.facelets 1 1 0 0 2 0.0% 100.0% 0.0% 1
org.apache.myfaces.tobago.internal.taglib 1 1 0 1 8 0.0% 89.0% 11.0% 1
org.apache.myfaces.tobago.model 2 0 2 0 1 100.0% 100.0% 100.0% 1
org.apache.myfaces.tobago.renderkit 1 1 0 4 1 0.0% 20.0% 80.0% 1
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag 15 15 0 0 10 0.0% 100.0% 0.0% 1
org.apache.myfaces.tobago.renderkit.html.sandbox.standard.tag 1 1 0 0 14 0.0% 100.0% 0.0% 1
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag 7 7 0 0 15 0.0% 100.0% 0.0% 1
org.apache.myfaces.tobago.taglib.sandbox 4 0 4 0 6 100.0% 100.0% 100.0% 1
org.apache.myfaces.tobago.util 1 1 0 3 3 0.0% 50.0% 50.0% 1

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

org.apache.myfaces.tobago.application

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 org.apache.myfaces.tobago.application.FoViewHandlerImpl
org.apache.myfaces.tobago.application.FopConverter
None java.io
java.lang
javax.faces
javax.faces.application
javax.faces.component
javax.faces.context
javax.servlet
javax.servlet.http
org.apache.commons.logging
org.apache.fop.apps
org.apache.myfaces.tobago.context
org.apache.myfaces.tobago.util
org.apache.myfaces.tobago.webapp
org.xml.sax

org.apache.myfaces.tobago.component

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 9 50.0% 69.0% 19.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.tobago.component.AbstractUINumberSlider
org.apache.myfaces.tobago.component.UINumberSlider
org.apache.myfaces.tobago.internal.taglib
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag
org.apache.myfaces.tobago.renderkit.html.sandbox.standard.tag
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag
java.lang
javax.el
javax.faces
javax.faces.component
javax.faces.context
javax.faces.validator
org.apache.myfaces.tobago.context
org.apache.myfaces.tobago.layout
org.apache.myfaces.tobago.renderkit

org.apache.myfaces.tobago.facelets

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 org.apache.myfaces.tobago.facelets.TobagoSandboxTagLibrary
None com.sun.facelets.tag
java.lang

org.apache.myfaces.tobago.internal.taglib

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 org.apache.myfaces.tobago.internal.taglib.NumberSliderTag
org.apache.myfaces.tobago.taglib.sandbox
java.lang
javax.el
javax.faces.component
javax.faces.context
javax.faces.event
org.apache.commons.logging
org.apache.myfaces.tobago.component
org.apache.myfaces.tobago.context

org.apache.myfaces.tobago.model

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.tobago.model.AbstractCrud
org.apache.myfaces.tobago.model.Crud
None None java.lang

org.apache.myfaces.tobago.renderkit

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 1 0.0% 20.0% 80.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.myfaces.tobago.renderkit.NumberSliderRenderer
org.apache.myfaces.tobago.component
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag
org.apache.myfaces.tobago.renderkit.html.sandbox.standard.tag
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag
java.lang

org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag

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 org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.BoxRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.ButtonRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.FoRendererBase
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.FoUtils
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.GridLayoutRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.ImageRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.InRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.LabelRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.Layout
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.LinkRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.MessagesRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.OutRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.PageRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.PanelRenderer
org.apache.myfaces.tobago.renderkit.fo.standard.standard.tag.TextAreaRenderer
None java.io
java.lang
java.text
java.util
javax.faces.component
javax.faces.context
org.apache.commons.logging
org.apache.myfaces.tobago.component
org.apache.myfaces.tobago.renderkit
org.apache.myfaces.tobago.renderkit.util

org.apache.myfaces.tobago.renderkit.html.sandbox.standard.tag

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 org.apache.myfaces.tobago.renderkit.html.sandbox.standard.tag.NumberSliderRenderer
None java.io
java.lang
java.util
javax.faces.component
javax.faces.context
org.apache.myfaces.tobago.component
org.apache.myfaces.tobago.context
org.apache.myfaces.tobago.layout
org.apache.myfaces.tobago.renderkit
org.apache.myfaces.tobago.renderkit.css
org.apache.myfaces.tobago.renderkit.html
org.apache.myfaces.tobago.renderkit.html.util
org.apache.myfaces.tobago.util
org.apache.myfaces.tobago.webapp

org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 15 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.BoxRenderer
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.ButtonRenderer
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.InRenderer
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.PageRenderer
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.PanelRenderer
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.SelectBooleanCheckboxRenderer
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag.SelectOneChoiceRenderer
None java.io
java.lang
java.util
javax.faces.component
javax.faces.context
javax.faces.model
org.apache.commons.collections
org.apache.commons.collections.keyvalue
org.apache.commons.logging
org.apache.myfaces.tobago.component
org.apache.myfaces.tobago.renderkit
org.apache.myfaces.tobago.renderkit.html.util
org.apache.myfaces.tobago.renderkit.util
org.apache.myfaces.tobago.util
org.apache.myfaces.tobago.webapp

org.apache.myfaces.tobago.taglib.sandbox

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.tobago.taglib.sandbox.NumberSliderTagDeclaration
org.apache.myfaces.tobago.taglib.sandbox.RichTextEditorTag
org.apache.myfaces.tobago.taglib.sandbox.RichTextEditorTagDeclaration
org.apache.myfaces.tobago.taglib.sandbox.package-info
None None java.lang
java.util
javax.faces.component
javax.servlet.jsp
org.apache.myfaces.tobago.internal.taglib
org.apache.myfaces.tobago.taglib.decl

org.apache.myfaces.tobago.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 3 0.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.myfaces.tobago.util.CommonsLoggingLogger
org.apache.myfaces.tobago.application
org.apache.myfaces.tobago.renderkit.html.sandbox.standard.tag
org.apache.myfaces.tobago.renderkit.wml.standard.standard.tag
java.lang
org.apache.avalon.framework.logger
org.apache.commons.logging

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

There are no cyclic dependencies.

Explanation

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

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.