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 | org.apache.myfaces.convert.ex.DoubleConverter org.apache.myfaces.convert.ex.FloatConverter org.apache.myfaces.convert.ex.IntegerConverter org.apache.myfaces.convert.ex.LongConverter org.apache.myfaces.convert.ex.ShortConverter | None | java.lang javax.faces.convert org.apache.myfaces.custom.clientvalidation.common |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.accordion.AbstractHtmlAccordionPanel | org.apache.myfaces.custom.accordion.HtmlAccordionPanel org.apache.myfaces.custom.accordion.HtmlAccordionPanel$PropertyKeys org.apache.myfaces.custom.accordion.HtmlAccordionPanelRenderer org.apache.myfaces.custom.accordion.HtmlAccordionPanelTag | None | java.io java.lang java.util javax.el javax.faces.component javax.faces.context org.apache.myfaces.component.html.ext org.apache.myfaces.custom.tabbedpane org.apache.myfaces.generated.taglib.html.ext org.apache.myfaces.renderkit.html.ext org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 1 | 100.0% | 33.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.ajax.AjaxCallbacks | None | org.apache.myfaces.custom.ajax.util org.apache.myfaces.custom.inputAjax | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 18 | 50.0% | 90.0% | 40.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.ajax.api.AjaxComponent org.apache.myfaces.custom.ajax.api.AjaxRenderer org.apache.myfaces.custom.ajax.api.AjaxSuggestRenderer org.apache.myfaces.custom.ajax.api.DeprecatedAjaxComponent | org.apache.myfaces.custom.ajax.api.AjaxDecodePhaseListener org.apache.myfaces.custom.ajax.api.AjaxDecodePhaseListener$1 org.apache.myfaces.custom.ajax.api.AjaxDecodePhaseListener$2 org.apache.myfaces.custom.ajax.api.ComponentNotFoundException | org.apache.myfaces.custom.autoupdatedatatable org.apache.myfaces.custom.inputAjax | java.io java.lang java.util javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.event javax.servlet org.apache.commons.logging org.apache.myfaces.component.html.ext org.apache.myfaces.custom.ajax.util org.apache.myfaces.custom.inputAjax org.apache.myfaces.custom.util org.apache.myfaces.shared_tomahawk.component org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.shared_tomahawk.renderkit.html.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 15 | 0.0% | 88.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.custom.ajax.util.AjaxRendererUtils | org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.inputAjax | java.io java.lang java.util javax.faces.application javax.faces.component javax.faces.context javax.servlet.http org.apache.commons.logging org.apache.myfaces.component.html.ext org.apache.myfaces.custom.ajax org.apache.myfaces.custom.inputAjax org.apache.myfaces.custom.prototype org.apache.myfaces.custom.util org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit.html |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 14 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.autoupdatedatatable.AbstractAutoUpdateDataTable | org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTable org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTable$PropertyKeys org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTableRenderer org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTableTag | None | java.io java.lang java.util javax.el javax.faces.application javax.faces.component javax.faces.context org.apache.myfaces.component.html.ext org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.prototype org.apache.myfaces.generated.taglib.html.ext org.apache.myfaces.renderkit.html.ext org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 12 | 40.0% | 71.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.clientvalidation.common.ClientConverter org.apache.myfaces.custom.clientvalidation.common.ClientValidator | org.apache.myfaces.custom.clientvalidation.common.CVCall org.apache.myfaces.custom.clientvalidation.common.CVCallsHolder org.apache.myfaces.custom.clientvalidation.common.CVUtils | org.apache.myfaces.convert.ex org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.form org.apache.myfaces.renderkit.html.ext org.apache.myfaces.validator.ex | java.io java.lang java.util javax.faces.application javax.faces.component javax.faces.component.html javax.faces.context javax.faces.el org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.util org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit |
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.custom.clientvalidation.validationscript.ValidationScript org.apache.myfaces.custom.clientvalidation.validationscript.ValidationScriptRenderer org.apache.myfaces.custom.clientvalidation.validationscript.ValidationScriptTag | org.apache.myfaces.custom.clientvalidation.common | java.io java.lang javax.faces.component javax.faces.context javax.faces.render javax.faces.webapp org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.shared_tomahawk.renderkit |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 14 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.comparetovalidator.AbstractCompareToValidator | org.apache.myfaces.custom.comparetovalidator.CompareToValidator org.apache.myfaces.custom.comparetovalidator.ValidateCompareToTag | None | java.lang java.util javax.el javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.convert javax.faces.el javax.faces.render javax.faces.validator javax.servlet.jsp org.apache.myfaces.shared_tomahawk.util org.apache.myfaces.validator |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 20 | 21.0% | 100.0% | 21.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.conversation.AbstractConversationActionListener org.apache.myfaces.custom.conversation.ConversationBeanElevator org.apache.myfaces.custom.conversation.ConversationListener org.apache.myfaces.custom.conversation.ConversationMessager org.apache.myfaces.custom.conversation.PersistenceManager org.apache.myfaces.custom.conversation.PersistenceManagerFactory org.apache.myfaces.custom.conversation.PersistentConversation | org.apache.myfaces.custom.conversation.AbstractConversationComponent org.apache.myfaces.custom.conversation.AbstractConversationTag org.apache.myfaces.custom.conversation.Conversation org.apache.myfaces.custom.conversation.ConversationContext org.apache.myfaces.custom.conversation.ConversationExternalContext org.apache.myfaces.custom.conversation.ConversationExternalContext$1 org.apache.myfaces.custom.conversation.ConversationExternalContext$2 org.apache.myfaces.custom.conversation.ConversationExternalContext$3 org.apache.myfaces.custom.conversation.ConversationManager org.apache.myfaces.custom.conversation.ConversationManager$ContextWiperThread org.apache.myfaces.custom.conversation.ConversationRequestParameterProvider org.apache.myfaces.custom.conversation.ConversationServletFilter org.apache.myfaces.custom.conversation.ConversationUtils org.apache.myfaces.custom.conversation.ConversationVariableResolver org.apache.myfaces.custom.conversation.DefaultConversationBeanElevator org.apache.myfaces.custom.conversation.DefaultConversationMessager org.apache.myfaces.custom.conversation.EndConversationMethodBindingFacade org.apache.myfaces.custom.conversation.FakeMap org.apache.myfaces.custom.conversation.SpringConversationScope org.apache.myfaces.custom.conversation.UIConversation org.apache.myfaces.custom.conversation.UIEndConversation org.apache.myfaces.custom.conversation.UIEnsureConversation org.apache.myfaces.custom.conversation.UISeparateConversationContext org.apache.myfaces.custom.conversation.UIStartConversation org.apache.myfaces.custom.conversation.UIStartConversation$ConversationStartAction org.apache.myfaces.custom.conversation.ValueBindingKey | None | java.io java.lang java.util javax.el javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.el javax.faces.event javax.faces.webapp javax.servlet javax.servlet.http org.apache.commons.logging org.apache.myfaces.custom.redirectTracker org.apache.myfaces.custom.requestParameterProvider org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.util org.springframework.beans.factory org.springframework.beans.factory.config |
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 | org.apache.myfaces.custom.convertDateTime.ConvertDateTimeTag org.apache.myfaces.custom.convertDateTime.DateTimeConverter | None | java.lang java.util javax.el javax.faces.component javax.faces.context javax.faces.convert javax.servlet.jsp org.apache.myfaces.converter org.apache.myfaces.shared_tomahawk.util |
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 | org.apache.myfaces.custom.convertNumber.TypedNumberConverter org.apache.myfaces.custom.convertNumber.TypedNumberConverterTag | None | java.lang java.text java.util javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.convert javax.faces.el javax.servlet.jsp org.apache.commons.beanutils org.apache.myfaces.converter org.apache.myfaces.shared_tomahawk.util |
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.custom.convertString.TrimConverter | None | java.lang javax.faces.component javax.faces.context javax.faces.convert |
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 | org.apache.myfaces.custom.convertStringUtils.StringUtilsConverter org.apache.myfaces.custom.convertStringUtils.StringUtilsConverterTag | None | java.lang javax.el javax.faces.component javax.faces.context javax.faces.convert javax.servlet.jsp org.apache.commons.lang org.apache.myfaces.converter |
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.apache.myfaces.custom.convertboolean.BooleanConverter org.apache.myfaces.custom.convertboolean.ConvertBooleanTag | None | java.lang javax.el javax.faces.component javax.faces.context javax.faces.convert javax.servlet.jsp org.apache.myfaces.converter |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.csvvalidator.AbstractCSVValidator | org.apache.myfaces.custom.csvvalidator.CSVValidator org.apache.myfaces.custom.csvvalidator.ValidateCSVTag | None | java.lang java.util.regex javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.validator javax.servlet.jsp org.apache.myfaces.shared_tomahawk.util org.apache.myfaces.validator |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 4 | 67.0% | 57.0% | 24.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.dynamicResources.ResourceContext org.apache.myfaces.custom.dynamicResources.ResourceRenderer | org.apache.myfaces.custom.dynamicResources.SimpleResourceContext | org.apache.myfaces.custom.graphicimagedynamic org.apache.myfaces.custom.graphicimagedynamic.util org.apache.myfaces.custom.outputlinkdynamic | java.io java.lang java.util javax.faces.context |
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 | org.apache.myfaces.custom.exporter.ExporterActionListener org.apache.myfaces.custom.exporter.ExporterActionListenerTag | None | java.lang javax.faces.application javax.faces.component javax.faces.context javax.faces.event javax.faces.webapp javax.servlet.http javax.servlet.jsp javax.servlet.jsp.tagext org.apache.commons.logging org.apache.myfaces.component.html.ext org.apache.myfaces.custom.exporter.util org.apache.myfaces.custom.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 13 | 33.0% | 93.0% | 26.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.exporter.util.ExporterConstants | org.apache.myfaces.custom.exporter.util.ExcelExporterUtil org.apache.myfaces.custom.exporter.util.PDFExporterUtil | org.apache.myfaces.custom.exporter | com.lowagie.text com.lowagie.text.pdf java.io java.lang java.util javax.faces.component javax.faces.component.html javax.faces.context javax.servlet javax.servlet.http org.apache.myfaces.custom.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.poi.hssf.usermodel |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 12 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.focus2.AbstractHtmlFocus org.apache.myfaces.custom.focus2.TreeVisitor$TreeTraversalListener | org.apache.myfaces.custom.focus2.HtmlFocus org.apache.myfaces.custom.focus2.HtmlFocus$PropertyKeys org.apache.myfaces.custom.focus2.HtmlFocusRenderer org.apache.myfaces.custom.focus2.HtmlFocusRenderer$1 org.apache.myfaces.custom.focus2.HtmlFocusRenderer$2 org.apache.myfaces.custom.focus2.HtmlFocusRenderer$StringHolder org.apache.myfaces.custom.focus2.HtmlFocusTag org.apache.myfaces.custom.focus2.TreeVisitor | None | java.io java.lang java.util javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.event javax.faces.render javax.faces.validator javax.faces.webapp org.apache.myfaces.shared_tomahawk.renderkit |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.form.AbstractHtmlForm | org.apache.myfaces.custom.form.HtmlForm org.apache.myfaces.custom.form.HtmlForm$PropertyKeys org.apache.myfaces.custom.form.HtmlFormRenderer org.apache.myfaces.custom.form.HtmlFormTag | None | java.io java.lang java.util javax.el javax.faces.component javax.faces.component.html javax.faces.context javax.servlet.http org.apache.myfaces.component org.apache.myfaces.component.html.util org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.shared_tomahawk.taglib.html |
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.custom.globalId.GlobalId org.apache.myfaces.custom.globalId.GlobalIdTag | None | java.lang javax.faces.component javax.faces.context javax.faces.webapp |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 23 | 40.0% | 100.0% | 40.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.graphicimagedynamic.ImageContext org.apache.myfaces.custom.graphicimagedynamic.ImageRenderer | org.apache.myfaces.custom.graphicimagedynamic.GraphicImageDynamic org.apache.myfaces.custom.graphicimagedynamic.GraphicImageDynamicRenderer org.apache.myfaces.custom.graphicimagedynamic.GraphicImageDynamicTag | None | java.io java.lang java.util javax.el javax.faces javax.faces.component javax.faces.context javax.faces.el javax.faces.lifecycle javax.servlet javax.servlet.http org.apache.commons.logging org.apache.myfaces.component.html.ext org.apache.myfaces.component.html.util org.apache.myfaces.custom.dynamicResources org.apache.myfaces.custom.graphicimagedynamic.util org.apache.myfaces.custom.util org.apache.myfaces.generated.taglib.html.ext org.apache.myfaces.renderkit.html.ext org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.shared_tomahawk.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 10 | 50.0% | 91.0% | 41.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.graphicimagedynamic.util.GraphicImageDynamicConstants org.apache.myfaces.custom.graphicimagedynamic.util.ImageContext org.apache.myfaces.custom.graphicimagedynamic.util.ImageRenderer | org.apache.myfaces.custom.graphicimagedynamic.util.GraphicsImageDynamicHelper org.apache.myfaces.custom.graphicimagedynamic.util.ImageResponseStream org.apache.myfaces.custom.graphicimagedynamic.util.SimpleImageContext | org.apache.myfaces.custom.graphicimagedynamic | java.io java.lang java.util javax.faces javax.faces.application javax.faces.context javax.faces.el org.apache.commons.logging org.apache.myfaces.custom.dynamicResources org.apache.myfaces.shared_tomahawk.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.ifmessage.AbstractIfMessage | org.apache.myfaces.custom.ifmessage.IfMessage org.apache.myfaces.custom.ifmessage.IfMessage$PropertyKeys org.apache.myfaces.custom.ifmessage.IfMessageRenderer org.apache.myfaces.custom.ifmessage.IfMessageTag | None | java.io java.lang java.util javax.el javax.faces.component javax.faces.context javax.faces.render javax.faces.webapp |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 20 | 18.0% | 91.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.inputAjax.AbstractHtmlCommandButtonAjax org.apache.myfaces.custom.inputAjax.AbstractHtmlInputTextAjax org.apache.myfaces.custom.inputAjax.AbstractHtmlSelectBooleanCheckboxAjax org.apache.myfaces.custom.inputAjax.AbstractHtmlSelectManyCheckboxAjax org.apache.myfaces.custom.inputAjax.AbstractHtmlSelectOneRadioAjax org.apache.myfaces.custom.inputAjax.AbstractListener | org.apache.myfaces.custom.inputAjax.HtmlCommandButtonAjax org.apache.myfaces.custom.inputAjax.HtmlCommandButtonAjax$PropertyKeys org.apache.myfaces.custom.inputAjax.HtmlCommandButtonAjaxRenderer org.apache.myfaces.custom.inputAjax.HtmlCommandButtonAjaxTag org.apache.myfaces.custom.inputAjax.HtmlInputTextAjax org.apache.myfaces.custom.inputAjax.HtmlInputTextAjax$PropertyKeys org.apache.myfaces.custom.inputAjax.HtmlInputTextAjaxRenderer org.apache.myfaces.custom.inputAjax.HtmlInputTextAjaxTag org.apache.myfaces.custom.inputAjax.HtmlMessage org.apache.myfaces.custom.inputAjax.HtmlMessageRenderer org.apache.myfaces.custom.inputAjax.HtmlMessageTag org.apache.myfaces.custom.inputAjax.HtmlSelectBooleanCheckboxAjax org.apache.myfaces.custom.inputAjax.HtmlSelectBooleanCheckboxAjax$PropertyKeys org.apache.myfaces.custom.inputAjax.HtmlSelectBooleanCheckboxAjaxRenderer org.apache.myfaces.custom.inputAjax.HtmlSelectBooleanCheckboxAjaxTag org.apache.myfaces.custom.inputAjax.HtmlSelectManyCheckboxAjax org.apache.myfaces.custom.inputAjax.HtmlSelectManyCheckboxAjax$PropertyKeys org.apache.myfaces.custom.inputAjax.HtmlSelectManyCheckboxAjaxRenderer org.apache.myfaces.custom.inputAjax.HtmlSelectManyCheckboxAjaxTag org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjax org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjax$PropertyKeys org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjaxRenderer org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjaxTag org.apache.myfaces.custom.inputAjax.Listener org.apache.myfaces.custom.inputAjax.Listener$PropertyKeys org.apache.myfaces.custom.inputAjax.ListenerTag org.apache.myfaces.custom.inputAjax.SampleValueChangeListener | org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.ajax.util | java.io java.lang java.util javax.el javax.faces.component javax.faces.context javax.faces.event javax.faces.webapp javax.servlet.jsp org.apache.commons.logging org.apache.myfaces.component.html.ext org.apache.myfaces.custom.ajax org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.ajax.util org.apache.myfaces.generated.taglib.html.ext org.apache.myfaces.renderkit.html.ext org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.taglib.html.ext |
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 | org.apache.myfaces.custom.isbnvalidator.ISBNValidator org.apache.myfaces.custom.isbnvalidator.ValidateISBNTag | None | java.lang javax.faces.application javax.faces.component javax.faces.context javax.faces.validator javax.servlet.jsp org.apache.commons.validator org.apache.myfaces.shared_tomahawk.util org.apache.myfaces.validator |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.loadbundle.AbstractLoadBundle org.apache.myfaces.custom.loadbundle.AbstractLoadBundleTag | org.apache.myfaces.custom.loadbundle.AbstractLoadBundle$BundleMap org.apache.myfaces.custom.loadbundle.AbstractLoadBundle$BundleMap$1 org.apache.myfaces.custom.loadbundle.FacesEventWrapper org.apache.myfaces.custom.loadbundle.LoadBundle org.apache.myfaces.custom.loadbundle.LoadBundle$PropertyKeys org.apache.myfaces.custom.loadbundle.LoadBundleTag | None | java.io java.lang java.util javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.event javax.faces.webapp javax.servlet.jsp org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 20.0% | 90.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.media.AbstractMediaComponent | org.apache.myfaces.custom.media.MediaComponent org.apache.myfaces.custom.media.MediaComponent$PropertyKeys org.apache.myfaces.custom.media.MediaRenderer org.apache.myfaces.custom.media.MediaTag | org.apache.myfaces.custom.media.util | java.io java.lang javax.el javax.faces.component javax.faces.context javax.faces.render javax.faces.webapp org.apache.myfaces.custom.media.util org.apache.myfaces.shared_tomahawk.renderkit |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 4 | 50.0% | 80.0% | 30.000002% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.media.util.MediaConstants | org.apache.myfaces.custom.media.util.MediaUtil | org.apache.myfaces.custom.media | java.io java.lang javax.faces.context org.apache.myfaces.custom.media |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 21 | 14.0% | 100.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.outputlinkdynamic.AbstractOutputLinkDynamic | org.apache.myfaces.custom.outputlinkdynamic.OutputLinkDynamic org.apache.myfaces.custom.outputlinkdynamic.OutputLinkDynamic$PropertyKeys org.apache.myfaces.custom.outputlinkdynamic.OutputLinkDynamicRenderer org.apache.myfaces.custom.outputlinkdynamic.OutputLinkDynamicRenderer$1 org.apache.myfaces.custom.outputlinkdynamic.OutputLinkDynamicRenderer$ResourceResponseStream org.apache.myfaces.custom.outputlinkdynamic.OutputLinkDynamicTag | None | java.io java.lang java.util javax.el javax.faces javax.faces.component javax.faces.component.html javax.faces.context javax.faces.el javax.faces.lifecycle javax.servlet javax.servlet.http org.apache.myfaces.component org.apache.myfaces.component.html.util org.apache.myfaces.custom.dynamicResources org.apache.myfaces.renderkit.html.ext org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.shared_tomahawk.taglib.html org.apache.myfaces.shared_tomahawk.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 16 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.passwordStrength.AbstractPasswordStrengthComponent org.apache.myfaces.custom.passwordStrength.TextIndicatorType | org.apache.myfaces.custom.passwordStrength.PasswordStrengthComponent org.apache.myfaces.custom.passwordStrength.PasswordStrengthComponent$PropertyKeys org.apache.myfaces.custom.passwordStrength.PasswordStrengthRenderer org.apache.myfaces.custom.passwordStrength.PasswordStrengthTag | None | java.io java.lang java.util javax.el javax.faces.application javax.faces.component javax.faces.component.html javax.faces.context javax.faces.render org.apache.commons.lang org.apache.myfaces.component org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.shared_tomahawk.taglib.html org.apache.myfaces.shared_tomahawk.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 15 | 8.0% | 88.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.redirectTracker.RedirectTrackerPolicy | org.apache.myfaces.custom.redirectTracker.FacesContextWrapper org.apache.myfaces.custom.redirectTracker.RedirectTrackerContext org.apache.myfaces.custom.redirectTracker.RedirectTrackerExternalContextWrapper org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager$1 org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager$Entry org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager$MessageEntry org.apache.myfaces.custom.redirectTracker.RedirectTrackerNavigationHandler org.apache.myfaces.custom.redirectTracker.RedirectTrackerNavigationHandler$1 org.apache.myfaces.custom.redirectTracker.RedirectTrackerPhaseListener org.apache.myfaces.custom.redirectTracker.RedirectTrackerVariableResolver | org.apache.myfaces.custom.conversation org.apache.myfaces.custom.redirectTracker.policy | java.io java.lang java.net java.security java.util javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.el javax.faces.event javax.faces.render org.apache.commons.logging org.apache.myfaces.custom.redirectTracker.policy org.apache.myfaces.shared_tomahawk.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.custom.redirectTracker.policy.FullRedirectTrackPolicy org.apache.myfaces.custom.redirectTracker.policy.MessagesRedirectTrackPolicy org.apache.myfaces.custom.redirectTracker.policy.NoopRedirectTrackPolicy | org.apache.myfaces.custom.redirectTracker | java.lang org.apache.myfaces.custom.redirectTracker |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.renderOne.AbstractUIRenderOne | org.apache.myfaces.custom.renderOne.UIRenderOne org.apache.myfaces.custom.renderOne.UIRenderOne$PropertyKeys org.apache.myfaces.custom.renderOne.UIRenderOneTag | None | java.io java.lang java.util javax.el javax.faces.component javax.faces.context javax.faces.webapp org.apache.myfaces.shared_tomahawk.renderkit |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 25.0% | 88.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.requestParameterProvider.RequestParameterProvider | org.apache.myfaces.custom.requestParameterProvider.RequestParameterProviderManager org.apache.myfaces.custom.requestParameterProvider.RequestParameterResponseWrapper org.apache.myfaces.custom.requestParameterProvider.RequestParameterServletFilter | org.apache.myfaces.custom.conversation | java.io java.lang java.util javax.faces.context javax.servlet javax.servlet.http org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 20 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.roundeddiv.AbstractHtmlRoundedDiv | org.apache.myfaces.custom.roundeddiv.HtmlRoundedDiv org.apache.myfaces.custom.roundeddiv.HtmlRoundedDiv$PropertyKeys org.apache.myfaces.custom.roundeddiv.HtmlRoundedDivRenderer org.apache.myfaces.custom.roundeddiv.HtmlRoundedDivTag org.apache.myfaces.custom.roundeddiv.RoundedBorderGenerator | None | java.awt java.awt.geom java.awt.image java.io java.lang java.util java.util.regex javax.el javax.faces.component javax.faces.context javax.imageio javax.servlet javax.servlet.http org.apache.commons.logging org.apache.myfaces.component.html.util org.apache.myfaces.custom.div org.apache.myfaces.custom.htmlTag org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit org.apache.myfaces.shared_tomahawk.renderkit.html |
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.custom.scope.AfterScopePhaseListener org.apache.myfaces.custom.scope.ScopeHolder org.apache.myfaces.custom.scope.ScopeTag org.apache.myfaces.custom.scope.ScopeUtils org.apache.myfaces.custom.scope.UIScope | None | java.io java.lang java.util javax.faces.application javax.faces.component javax.faces.context javax.faces.el javax.faces.event org.apache.commons.logging org.apache.myfaces.shared_tomahawk.taglib.core |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.script.AbstractScript | org.apache.myfaces.custom.script.Script org.apache.myfaces.custom.script.Script$PropertyKeys org.apache.myfaces.custom.script.ScriptRenderer org.apache.myfaces.custom.script.ScriptTag | None | java.io java.lang javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.webapp org.apache.myfaces.shared_tomahawk.renderkit.html |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 25.0% | 100.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.security.SecurityContext | org.apache.myfaces.custom.security.SecurityContextImpl org.apache.myfaces.custom.security.SecurityContextPropertyResolver org.apache.myfaces.custom.security.SecurityContextVariableResolver | None | java.lang javax.faces.context javax.faces.el org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.suggest.AbstractInputSuggest | org.apache.myfaces.custom.suggest.InputSuggest org.apache.myfaces.custom.suggest.InputSuggest$PropertyKeys org.apache.myfaces.custom.suggest.InputSuggestRenderer org.apache.myfaces.custom.suggest.InputSuggestTag | None | java.io java.lang java.util javax.el javax.faces.component javax.faces.component.html javax.faces.context javax.faces.render org.apache.myfaces.component org.apache.myfaces.component.html.ext org.apache.myfaces.renderkit.html.util org.apache.myfaces.shared_tomahawk.renderkit.html org.apache.myfaces.shared_tomahawk.taglib.html |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 9 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.urlvalidator.AbstractUrlValidator | org.apache.myfaces.custom.urlvalidator.UrlValidator org.apache.myfaces.custom.urlvalidator.ValidateUrlTag | None | java.lang javax.el javax.faces.application javax.faces.component javax.faces.context javax.faces.validator javax.servlet.jsp org.apache.commons.validator org.apache.myfaces.validator |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 6 | 50.0% | 46.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.util.URIComponentUtils | org.apache.myfaces.custom.util.ComponentUtils | org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.ajax.util org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.exporter org.apache.myfaces.custom.exporter.util org.apache.myfaces.custom.graphicimagedynamic org.apache.myfaces.renderkit.html.ext | java.lang java.util javax.faces.component javax.faces.component.html javax.faces.context javax.servlet |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 14.0% | 100.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.custom.valueChangeNotifier.RestoreStateCommand | org.apache.myfaces.custom.valueChangeNotifier.ValueChangeCollector org.apache.myfaces.custom.valueChangeNotifier.ValueChangeCollector$1 org.apache.myfaces.custom.valueChangeNotifier.ValueChangeManager org.apache.myfaces.custom.valueChangeNotifier.ValueChangeManager$Entry org.apache.myfaces.custom.valueChangeNotifier.ValueChangeNotifierTag org.apache.myfaces.custom.valueChangeNotifier.ValueChangePhaseListener | None | java.lang java.util javax.el javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.el javax.faces.event javax.faces.webapp javax.servlet.jsp javax.servlet.jsp.tagext org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 10 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.renderkit.html.ext.HtmlButtonExRenderer org.apache.myfaces.renderkit.html.ext.HtmlFormRenderer org.apache.myfaces.renderkit.html.ext.HtmlOutputTextRenderer | org.apache.myfaces.custom.accordion org.apache.myfaces.custom.autoupdatedatatable org.apache.myfaces.custom.graphicimagedynamic org.apache.myfaces.custom.inputAjax org.apache.myfaces.custom.outputlinkdynamic | java.io java.lang java.util javax.faces.component javax.faces.component.html javax.faces.context org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.util org.apache.myfaces.renderkit.template org.apache.myfaces.shared_tomahawk.renderkit.html |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 10 | 50.0% | 91.0% | 41.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.renderkit.template.TemplateEncoder org.apache.myfaces.renderkit.template.TemplateRenderer | org.apache.myfaces.renderkit.template.DefaultTemplateEncoder org.apache.myfaces.renderkit.template.DefaultTemplateLoader | org.apache.myfaces.renderkit.html.ext | freemarker.cache freemarker.template java.io java.lang java.net java.util javax.faces.component javax.faces.context javax.faces.render org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 17 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.tomahawk.util.ErrorPageWriter org.apache.myfaces.tomahawk.util.ErrorRedirectJSFPageHandler org.apache.myfaces.tomahawk.util.ExceptionContext | None | java.beans java.io java.lang java.lang.reflect java.text java.util java.util.regex javax.el javax.faces javax.faces.application javax.faces.component javax.faces.context javax.faces.el javax.faces.lifecycle javax.servlet javax.servlet.http org.apache.commons.logging |
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 | org.apache.myfaces.validator.ex.DoubleRangeValidator org.apache.myfaces.validator.ex.LengthValidator org.apache.myfaces.validator.ex.LongRangeValidator | None | java.lang javax.faces.validator org.apache.myfaces.custom.clientvalidation.common |
Package | Package Dependencies |
---|---|
org.apache.myfaces.convert.ex | org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.custom.accordion | org.apache.myfaces.renderkit.html.ext org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.custom.ajax.api | org.apache.myfaces.custom.inputAjax org.apache.myfaces.custom.ajax.api |
org.apache.myfaces.custom.ajax.util | org.apache.myfaces.custom.inputAjax org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.inputAjax |
org.apache.myfaces.custom.autoupdatedatatable | org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.inputAjax org.apache.myfaces.custom.ajax.api |
org.apache.myfaces.custom.clientvalidation.common | org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.custom.clientvalidation.validationscript | org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript |
org.apache.myfaces.custom.conversation | org.apache.myfaces.custom.redirectTracker org.apache.myfaces.custom.redirectTracker.policy org.apache.myfaces.custom.redirectTracker |
org.apache.myfaces.custom.form | org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.custom.graphicimagedynamic | org.apache.myfaces.renderkit.html.ext org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.custom.inputAjax | org.apache.myfaces.custom.ajax.api org.apache.myfaces.custom.inputAjax |
org.apache.myfaces.custom.media | org.apache.myfaces.custom.media.util org.apache.myfaces.custom.media |
org.apache.myfaces.custom.media.util | org.apache.myfaces.custom.media org.apache.myfaces.custom.media.util |
org.apache.myfaces.custom.outputlinkdynamic | org.apache.myfaces.renderkit.html.ext org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.custom.redirectTracker | org.apache.myfaces.custom.redirectTracker.policy org.apache.myfaces.custom.redirectTracker |
org.apache.myfaces.custom.redirectTracker.policy | org.apache.myfaces.custom.redirectTracker org.apache.myfaces.custom.redirectTracker.policy |
org.apache.myfaces.renderkit.html.ext | org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
org.apache.myfaces.validator.ex | org.apache.myfaces.custom.clientvalidation.common org.apache.myfaces.custom.clientvalidation.validationscript org.apache.myfaces.custom.clientvalidation.common |
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. |