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.