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 ]Packages
[ summary ] [ packages ] [ cycles ] [ explanations ]org.apache.myfaces.shared_impl.component
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 100.0% | 75.0% | 75.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.component.BindingAware org.apache.myfaces.shared_impl.component.DisplayValueOnlyCapable org.apache.myfaces.shared_impl.component.EscapeCapable org.apache.myfaces.shared_impl.component.ExecuteOnCallback | None | org.apache.myfaces.shared_impl.renderkit.html | java.lang javax.faces.component javax.faces.context |
org.apache.myfaces.shared_impl.config
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 | org.apache.myfaces.shared_impl.config.MyfacesConfig | org.apache.myfaces.shared_impl.renderkit.html org.apache.myfaces.shared_impl.renderkit.html.util org.apache.myfaces.shared_impl.webapp.webxml | java.lang java.util javax.faces.context javax.servlet org.apache.commons.logging org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.context
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.context.ResponseWriterWrapper | None | None | java.io java.lang javax.faces.component javax.faces.context |
org.apache.myfaces.shared_impl.el
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.apache.myfaces.shared_impl.el.SimpleActionMethodBinding | org.apache.myfaces.shared_impl.taglib | java.lang javax.faces.component javax.faces.context javax.faces.el |
org.apache.myfaces.shared_impl.renderkit
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 18 | 20.0% | 86.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.renderkit.JSFAttr | org.apache.myfaces.shared_impl.renderkit.RendererUtils org.apache.myfaces.shared_impl.renderkit.RendererUtils$1 org.apache.myfaces.shared_impl.renderkit.RendererUtils$PassThroughAsStringConverter org.apache.myfaces.shared_impl.renderkit._SharedRendererUtils | org.apache.myfaces.shared_impl.renderkit.html org.apache.myfaces.shared_impl.taglib org.apache.myfaces.shared_impl.util | java.io java.lang java.lang.reflect java.util javax.el javax.faces javax.faces.application javax.faces.component javax.faces.component.html javax.faces.context javax.faces.convert javax.faces.el javax.faces.event javax.faces.model javax.faces.render org.apache.commons.logging org.apache.myfaces.shared_impl.renderkit.html.util org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.renderkit.html
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 19 | 21.0% | 100.0% | 21.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.renderkit.html.HTML org.apache.myfaces.shared_impl.renderkit.html.HtmlLinkRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlMessageRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlMessagesRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlRenderer | org.apache.myfaces.shared_impl.renderkit.html.HtmlButtonRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlCheckboxRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlFormRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlGroupRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlImageRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlListboxRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlMenuRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlMessagesRendererBase$MessagesIterator org.apache.myfaces.shared_impl.renderkit.html.HtmlRadioRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils$LinkParameter org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils$ScriptContext org.apache.myfaces.shared_impl.renderkit.html.HtmlResponseWriterImpl org.apache.myfaces.shared_impl.renderkit.html.HtmlSecretRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase$Styles org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase org.apache.myfaces.shared_impl.renderkit.html.HtmlTextareaRendererBase | None | java.io java.lang java.net java.util javax.faces javax.faces.application javax.faces.component javax.faces.component.html javax.faces.context javax.faces.convert javax.faces.event javax.faces.model javax.faces.render org.apache.commons.logging org.apache.myfaces.shared_impl.component org.apache.myfaces.shared_impl.config org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.renderkit.html.util org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.renderkit.html.util
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 8 | 50.0% | 73.0% | 23.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.renderkit.html.util.HTMLEncoder org.apache.myfaces.shared_impl.renderkit.html.util.UnicodeEncoder | org.apache.myfaces.shared_impl.renderkit.html.util.FormInfo org.apache.myfaces.shared_impl.renderkit.html.util.JavascriptUtils | org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.renderkit.html org.apache.myfaces.shared_impl.util | java.io java.lang java.util javax.faces.component javax.faces.context javax.servlet.http org.apache.commons.logging org.apache.myfaces.shared_impl.config |
org.apache.myfaces.shared_impl.taglib
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 15 | 67.0% | 88.0% | 55.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.taglib.UIComponentBodyELTagBase org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase org.apache.myfaces.shared_impl.taglib.UIComponentELTagBase org.apache.myfaces.shared_impl.taglib.UIComponentTagBase | org.apache.myfaces.shared_impl.taglib.UIComponentELTagUtils org.apache.myfaces.shared_impl.taglib.UIComponentTagUtils | org.apache.myfaces.shared_impl.taglib.core org.apache.myfaces.shared_impl.taglib.html | java.io java.lang java.util javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.event javax.faces.validator javax.faces.webapp javax.servlet.jsp javax.servlet.jsp.tagext org.apache.commons.logging org.apache.myfaces.shared_impl.el org.apache.myfaces.shared_impl.renderkit |
org.apache.myfaces.shared_impl.taglib.core
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 12 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.shared_impl.taglib.core.ConvertDateTimeTagBase org.apache.myfaces.shared_impl.taglib.core.SelectItemTagBase | None | java.lang java.util javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.convert javax.faces.el javax.faces.webapp javax.servlet.jsp org.apache.myfaces.shared_impl.taglib org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.taglib.html
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.taglib.html.HtmlCommandButtonELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlCommandButtonTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlCommandLinkELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlCommandLinkTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlComponentBodyELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlComponentBodyTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlComponentELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlComponentTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlDataTableELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlDataTableTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlFormELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlFormTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlGraphicImageELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlGraphicImageTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputHiddenELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputHiddenTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputSecretELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputSecretTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputTextELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputTextTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputTextareaELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlInputTextareaTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlMessageELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlMessageTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlMessagesELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlMessagesTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputFormatELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputFormatTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputLabelELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputLabelTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputLinkELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputLinkTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputTextELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlOutputTextTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlPanelGridELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlPanelGridTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlPanelGroupELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlPanelGroupTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectBooleanCheckboxELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectBooleanCheckboxTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectListboxELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectListboxTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectManyCheckboxELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectManyCheckboxTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectMenuELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectMenuTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectOneRadioELTagBase org.apache.myfaces.shared_impl.taglib.html.HtmlSelectOneRadioTagBase | None | None | java.lang java.util javax.el javax.faces.component org.apache.myfaces.shared_impl.taglib |
org.apache.myfaces.shared_impl.test
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 | org.apache.myfaces.shared_impl.test.ClassElementHandler | None | java.lang java.util org.xml.sax org.xml.sax.helpers |
org.apache.myfaces.shared_impl.trace
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 3 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.trace.Closure | org.apache.myfaces.shared_impl.trace.TracingIterator org.apache.myfaces.shared_impl.trace.TracingIterator$1 org.apache.myfaces.shared_impl.trace.TracingIterator$2 org.apache.myfaces.shared_impl.trace.TracingIterator$3 org.apache.myfaces.shared_impl.trace.TracingSupport | None | java.lang java.util java.util.logging |
org.apache.myfaces.shared_impl.util
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 22 | 10.0% | 79.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.util.BiLevelCacheMap org.apache.myfaces.shared_impl.util.ClassLoaderExtension | org.apache.myfaces.shared_impl.util.ArrayUtils org.apache.myfaces.shared_impl.util.Assert org.apache.myfaces.shared_impl.util.ClassUtils org.apache.myfaces.shared_impl.util.ClassUtils$1 org.apache.myfaces.shared_impl.util.ExceptionUtils org.apache.myfaces.shared_impl.util.HashMapUtils org.apache.myfaces.shared_impl.util.LocaleUtils org.apache.myfaces.shared_impl.util.MessageUtils org.apache.myfaces.shared_impl.util.MyFacesObjectInputStream org.apache.myfaces.shared_impl.util.NullEnumeration org.apache.myfaces.shared_impl.util.NullIterator org.apache.myfaces.shared_impl.util.ParametrizableFacesMessage org.apache.myfaces.shared_impl.util.RestoreStateUtils org.apache.myfaces.shared_impl.util.SelectItemsIterator org.apache.myfaces.shared_impl.util.StateUtils org.apache.myfaces.shared_impl.util.StateUtils$1 org.apache.myfaces.shared_impl.util.StringUtils org.apache.myfaces.shared_impl.util._ComponentUtils | org.apache.myfaces.shared_impl.config org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.renderkit.html org.apache.myfaces.shared_impl.taglib.core org.apache.myfaces.shared_impl.util.serial org.apache.myfaces.shared_impl.webapp.webxml | java.io java.lang java.lang.reflect java.security java.text java.util java.util.zip javax.crypto javax.crypto.spec javax.el javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.el javax.faces.model javax.servlet org.apache.commons.codec.binary org.apache.commons.logging org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.renderkit.html.util org.apache.myfaces.shared_impl.util.serial |
org.apache.myfaces.shared_impl.util.el
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 80.0% | 100.0% | 80.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.util.el.ActionsMap org.apache.myfaces.shared_impl.util.el.GenericMap org.apache.myfaces.shared_impl.util.el.StringMap org.apache.myfaces.shared_impl.util.el.TestsMap | org.apache.myfaces.shared_impl.util.el.ActionsMap$CommandEntry | None | java.lang java.util |
org.apache.myfaces.shared_impl.util.serial
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 50.0% | 75.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.util.serial.SerialFactory | org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory | org.apache.myfaces.shared_impl.util | java.io java.lang org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.util.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 | org.apache.myfaces.shared_impl.util.servlet.SourceCodeServlet | None | java.io java.lang javax.servlet javax.servlet.http |
org.apache.myfaces.shared_impl.util.xml
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 | org.apache.myfaces.shared_impl.util.xml.MyFacesErrorHandler org.apache.myfaces.shared_impl.util.xml.XmlUtils | org.apache.myfaces.shared_impl.webapp.webxml | java.lang java.util org.apache.commons.logging org.w3c.dom org.xml.sax |
org.apache.myfaces.shared_impl.webapp.webxml
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 14 | 14.0% | 100.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.shared_impl.webapp.webxml.DelegatedFacesServlet | org.apache.myfaces.shared_impl.webapp.webxml.FilterMapping org.apache.myfaces.shared_impl.webapp.webxml.ServletMapping org.apache.myfaces.shared_impl.webapp.webxml.WebXml org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser$1 org.apache.myfaces.shared_impl.webapp.webxml.WebXmlParser$_EntityResolver | None | java.io java.lang java.net java.util javax.faces javax.faces.context javax.faces.webapp javax.xml.parsers org.apache.commons.logging org.apache.myfaces.shared_impl.config org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.util.xml org.w3c.dom org.xml.sax |
Cycles
[ summary ] [ packages ] [ cycles ] [ explanations ]Package | Package Dependencies |
---|---|
org.apache.myfaces.shared_impl.config | org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.renderkit | org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit |
org.apache.myfaces.shared_impl.renderkit.html | org.apache.myfaces.shared_impl.renderkit.html.util org.apache.myfaces.shared_impl.config org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.renderkit.html.util | org.apache.myfaces.shared_impl.config org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.taglib | org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit |
org.apache.myfaces.shared_impl.taglib.core | org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.taglib.html | org.apache.myfaces.shared_impl.taglib org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit |
org.apache.myfaces.shared_impl.util | org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.util.serial | org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
org.apache.myfaces.shared_impl.webapp.webxml | org.apache.myfaces.shared_impl.util org.apache.myfaces.shared_impl.renderkit org.apache.myfaces.shared_impl.util |
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. |