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.example.demo | 133 | 131 | 2 | 1 | 51 | 2.0% | 98.0% | 0.0% | 1 |
org.apache.myfaces.tobago.example.demo.actionlistener | 1 | 1 | 0 | 1 | 3 | 0.0% | 75.0% | 25.0% | 1 |
org.apache.myfaces.tobago.example.demo.bestpractice | 5 | 5 | 0 | 0 | 11 | 0.0% | 100.0% | 0.0% | 1 |
org.apache.myfaces.tobago.example.demo.info | 4 | 4 | 0 | 0 | 12 | 0.0% | 100.0% | 0.0% | 1 |
org.apache.myfaces.tobago.example.demo.nonfacesrequest | 1 | 1 | 0 | 0 | 5 | 0.0% | 100.0% | 0.0% | 1 |
org.apache.myfaces.tobago.example.demo.sudoku | 4 | 4 | 0 | 0 | 4 | 0.0% | 100.0% | 0.0% | 1 |
Packages
[ summary ] [ packages ] [ cycles ] [ explanations ]org.apache.myfaces.tobago.example.demo
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 51 | 2.0% | 98.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.myfaces.tobago.example.demo.PlanetExample org.apache.myfaces.tobago.example.demo.SourceFileReader |
org.apache.myfaces.tobago.example.demo.AjaxSpecialCharacterController org.apache.myfaces.tobago.example.demo.ApiController org.apache.myfaces.tobago.example.demo.AstroData$1 org.apache.myfaces.tobago.example.demo.AttributeController org.apache.myfaces.tobago.example.demo.BadgeController org.apache.myfaces.tobago.example.demo.BehaviorController org.apache.myfaces.tobago.example.demo.BehaviorTestController org.apache.myfaces.tobago.example.demo.BootstrapUtils org.apache.myfaces.tobago.example.demo.BoxController org.apache.myfaces.tobago.example.demo.BundleController org.apache.myfaces.tobago.example.demo.BundleEntry org.apache.myfaces.tobago.example.demo.ButtonLinkController org.apache.myfaces.tobago.example.demo.CantorInterval org.apache.myfaces.tobago.example.demo.CantorInterval$Fraction org.apache.myfaces.tobago.example.demo.CategoryNode org.apache.myfaces.tobago.example.demo.CategoryTree org.apache.myfaces.tobago.example.demo.CategoryTree$1 org.apache.myfaces.tobago.example.demo.CkeditorController org.apache.myfaces.tobago.example.demo.CollapsibleBoxController org.apache.myfaces.tobago.example.demo.CollapsibleController org.apache.myfaces.tobago.example.demo.CollapsiblePanelController org.apache.myfaces.tobago.example.demo.CollapsiblePopupController org.apache.myfaces.tobago.example.demo.CollapsibleSectionController org.apache.myfaces.tobago.example.demo.CommandNode org.apache.myfaces.tobago.example.demo.CommandNodeFactory org.apache.myfaces.tobago.example.demo.ConversationController org.apache.myfaces.tobago.example.demo.ConversionController org.apache.myfaces.tobago.example.demo.ConvertDateTimeController org.apache.myfaces.tobago.example.demo.CurrencyController org.apache.myfaces.tobago.example.demo.CurrentValueController org.apache.myfaces.tobago.example.demo.DateController org.apache.myfaces.tobago.example.demo.DefaultCommandController org.apache.myfaces.tobago.example.demo.DemoException org.apache.myfaces.tobago.example.demo.DockerController org.apache.myfaces.tobago.example.demo.DockerServer org.apache.myfaces.tobago.example.demo.Element org.apache.myfaces.tobago.example.demo.EventController org.apache.myfaces.tobago.example.demo.EventController$CommonEvent org.apache.myfaces.tobago.example.demo.EventController$EventsOnComponent org.apache.myfaces.tobago.example.demo.ExceptionController org.apache.myfaces.tobago.example.demo.ExceptionHandlerController org.apache.myfaces.tobago.example.demo.ExecuteController org.apache.myfaces.tobago.example.demo.ForEachController org.apache.myfaces.tobago.example.demo.ForEachController$River org.apache.myfaces.tobago.example.demo.FormAjaxController org.apache.myfaces.tobago.example.demo.FormController org.apache.myfaces.tobago.example.demo.FormRequiredController org.apache.myfaces.tobago.example.demo.GroupController org.apache.myfaces.tobago.example.demo.HeaderFooterController org.apache.myfaces.tobago.example.demo.InController org.apache.myfaces.tobago.example.demo.InputSuggestController org.apache.myfaces.tobago.example.demo.Jsr303Bean org.apache.myfaces.tobago.example.demo.KillSession org.apache.myfaces.tobago.example.demo.LocaleChanged org.apache.myfaces.tobago.example.demo.LocaleController org.apache.myfaces.tobago.example.demo.LocaleEntry org.apache.myfaces.tobago.example.demo.LocaleList org.apache.myfaces.tobago.example.demo.LoggingController org.apache.myfaces.tobago.example.demo.LoggingController$LoggingInfo org.apache.myfaces.tobago.example.demo.LoginController org.apache.myfaces.tobago.example.demo.ManifestEntry org.apache.myfaces.tobago.example.demo.ManifestReader org.apache.myfaces.tobago.example.demo.MessageLayoutController org.apache.myfaces.tobago.example.demo.MessagesController org.apache.myfaces.tobago.example.demo.MetaController org.apache.myfaces.tobago.example.demo.Migration4Controller org.apache.myfaces.tobago.example.demo.Migration5Controller org.apache.myfaces.tobago.example.demo.MixedCommandTree org.apache.myfaces.tobago.example.demo.NamedNode org.apache.myfaces.tobago.example.demo.NavigationNode org.apache.myfaces.tobago.example.demo.NavigationState org.apache.myfaces.tobago.example.demo.NavigationTree org.apache.myfaces.tobago.example.demo.Node org.apache.myfaces.tobago.example.demo.ObjectController org.apache.myfaces.tobago.example.demo.OnOffConverter org.apache.myfaces.tobago.example.demo.OutController org.apache.myfaces.tobago.example.demo.Outcome org.apache.myfaces.tobago.example.demo.PanelController org.apache.myfaces.tobago.example.demo.PartialReloadController org.apache.myfaces.tobago.example.demo.PopupController org.apache.myfaces.tobago.example.demo.ProgressController org.apache.myfaces.tobago.example.demo.RangeController org.apache.myfaces.tobago.example.demo.Release org.apache.myfaces.tobago.example.demo.ResizeController org.apache.myfaces.tobago.example.demo.RoleController org.apache.myfaces.tobago.example.demo.Salutation org.apache.myfaces.tobago.example.demo.Salutation$1 org.apache.myfaces.tobago.example.demo.SelectBooleanCheckboxController org.apache.myfaces.tobago.example.demo.SelectBooleanToggleController org.apache.myfaces.tobago.example.demo.SelectController org.apache.myfaces.tobago.example.demo.SelectItemModel org.apache.myfaces.tobago.example.demo.SelectManyCheckboxController org.apache.myfaces.tobago.example.demo.SelectManyListboxController org.apache.myfaces.tobago.example.demo.SelectManyShuttleController org.apache.myfaces.tobago.example.demo.SelectOneChoiceController org.apache.myfaces.tobago.example.demo.SelectOneListboxController org.apache.myfaces.tobago.example.demo.SelectOneRadioController org.apache.myfaces.tobago.example.demo.ServerInfo org.apache.myfaces.tobago.example.demo.SeverityController org.apache.myfaces.tobago.example.demo.SheetConfig org.apache.myfaces.tobago.example.demo.SheetController org.apache.myfaces.tobago.example.demo.SheetController$1 org.apache.myfaces.tobago.example.demo.SheetEditableController org.apache.myfaces.tobago.example.demo.SheetFilterController org.apache.myfaces.tobago.example.demo.SheetFilterController$DistanceRange org.apache.myfaces.tobago.example.demo.SheetFilterController$DistanceRangeConverter org.apache.myfaces.tobago.example.demo.SheetTreeController org.apache.myfaces.tobago.example.demo.SmallTree org.apache.myfaces.tobago.example.demo.SolarConverter org.apache.myfaces.tobago.example.demo.SplitLayoutController org.apache.myfaces.tobago.example.demo.StarsController org.apache.myfaces.tobago.example.demo.SynchronizeNavigationPhaseListener org.apache.myfaces.tobago.example.demo.TabController org.apache.myfaces.tobago.example.demo.TestController org.apache.myfaces.tobago.example.demo.TestController$TestPage org.apache.myfaces.tobago.example.demo.TextareaController org.apache.myfaces.tobago.example.demo.ThemeController org.apache.myfaces.tobago.example.demo.TinyMceController org.apache.myfaces.tobago.example.demo.TreeCommandTypesController org.apache.myfaces.tobago.example.demo.TreeController org.apache.myfaces.tobago.example.demo.TreeEditorController org.apache.myfaces.tobago.example.demo.TreeListboxController org.apache.myfaces.tobago.example.demo.TreeSelectController org.apache.myfaces.tobago.example.demo.TreeUtils org.apache.myfaces.tobago.example.demo.UploadController org.apache.myfaces.tobago.example.demo.UploadItem org.apache.myfaces.tobago.example.demo.ValidationController org.apache.myfaces.tobago.example.demo.ValidationJsr303Controller org.apache.myfaces.tobago.example.demo.Version org.apache.myfaces.tobago.example.demo.WebSocketController org.apache.myfaces.tobago.example.demo.WebSocketController$1 |
org.apache.myfaces.tobago.example.demo.bestpractice |
ch.qos.logback.classic ch.qos.logback.core.status com.google.gson com.google.gson.reflect java.io java.lang java.lang.annotation java.lang.invoke java.lang.reflect java.math java.net java.nio.charset java.text java.time java.util java.util.concurrent java.util.jar java.util.regex java.util.stream java.util.zip javax.el javax.enterprise.context javax.enterprise.event javax.enterprise.inject javax.enterprise.inject.spi javax.faces.application javax.faces.component javax.faces.context javax.faces.convert javax.faces.event javax.faces.model javax.faces.validator javax.servlet javax.servlet.http javax.swing javax.swing.tree org.apache.commons.io org.apache.commons.lang3 org.apache.myfaces.tobago.component org.apache.myfaces.tobago.config org.apache.myfaces.tobago.context org.apache.myfaces.tobago.event org.apache.myfaces.tobago.example.demo.actionlistener org.apache.myfaces.tobago.internal.component org.apache.myfaces.tobago.internal.config org.apache.myfaces.tobago.internal.util org.apache.myfaces.tobago.layout org.apache.myfaces.tobago.model org.apache.myfaces.tobago.renderkit.css org.apache.myfaces.tobago.util org.slf4j |
org.apache.myfaces.tobago.example.demo.actionlistener
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 0.0% | 75.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.tobago.example.demo.actionlistener.SimpleTabChangeListener |
org.apache.myfaces.tobago.example.demo |
java.lang javax.faces.component org.apache.myfaces.tobago.event |
org.apache.myfaces.tobago.example.demo.bestpractice
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.tobago.example.demo.bestpractice.BestPracticeController org.apache.myfaces.tobago.example.demo.bestpractice.ToolBarCustomizer org.apache.myfaces.tobago.example.demo.bestpractice.ToolBarCustomizer$1 org.apache.myfaces.tobago.example.demo.bestpractice.ToolBarCustomizer$Item org.apache.myfaces.tobago.example.demo.bestpractice.TransitionController |
None | java.io java.lang java.lang.invoke java.util javax.faces.component javax.faces.context javax.faces.event javax.servlet.http org.apache.commons.io org.apache.myfaces.tobago.example.demo org.slf4j |
org.apache.myfaces.tobago.example.demo.info
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.tobago.example.demo.info.Activity org.apache.myfaces.tobago.example.demo.info.ActivityList org.apache.myfaces.tobago.example.demo.info.ActivityPhaseListener org.apache.myfaces.tobago.example.demo.info.ActivitySessionListener |
None | java.io java.lang java.lang.annotation java.lang.invoke java.util java.util.concurrent javax.enterprise.inject javax.enterprise.inject.spi javax.faces.context javax.faces.event javax.servlet.http org.slf4j |
org.apache.myfaces.tobago.example.demo.nonfacesrequest
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.myfaces.tobago.example.demo.nonfacesrequest.FishPond |
None | java.io java.lang java.lang.invoke java.util org.slf4j |
org.apache.myfaces.tobago.example.demo.sudoku
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.tobago.example.demo.sudoku.Sudoku org.apache.myfaces.tobago.example.demo.sudoku.Sudoku$1 org.apache.myfaces.tobago.example.demo.sudoku.Sudoku$RandomList org.apache.myfaces.tobago.example.demo.sudoku.Sudoku$Result |
None | java.lang java.lang.invoke java.util org.slf4j |
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. |