Apache MyFaces
UI-Component Sets
Foundation

Metric Results

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

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

Summary

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

Package TC CC AC Ca Ce A I D V
org.apache.myfaces.test.base 2 0 2 0 11 100.0% 100.0% 100.0% 1
org.apache.myfaces.test.base.junit4 3 0 3 0 13 100.0% 100.0% 100.0% 1
org.apache.myfaces.test.cargo 1 1 0 0 11 0.0% 100.0% 0.0% 1
org.apache.myfaces.test.config 12 12 0 4 10 0.0% 71.0% 29.0% 1
org.apache.myfaces.test.el 16 15 1 1 13 6.0% 93.0% 1.0% 1
org.apache.myfaces.test.htmlunit 1 0 1 0 7 100.0% 100.0% 100.0% 1
org.apache.myfaces.test.htmlunit.junit4 1 0 1 0 6 100.0% 100.0% 100.0% 1
org.apache.myfaces.test.jmock 1 0 1 0 10 100.0% 100.0% 100.0% 1
org.apache.myfaces.test.mock 65 62 3 5 25 5.0% 83.0% 12.0% 1
org.apache.myfaces.test.mock.lifecycle 12 10 2 4 12 17.0% 75.0% 8.0% 1
org.apache.myfaces.test.runners 3 3 0 0 12 0.0% 100.0% 0.0% 1
org.apache.myfaces.test.util 3 3 0 1 3 0.0% 75.0% 25.0% 1

Packages

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

org.apache.myfaces.test.base

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.base.AbstractJsfTestCase
org.apache.myfaces.test.base.AbstractViewControllerTestCase
None None java.lang
java.net
java.util
javax.faces
javax.faces.application
javax.faces.component
javax.faces.render
junit.framework
org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.mock.lifecycle

org.apache.myfaces.test.base.junit4

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 13 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.base.junit4.AbstractJsfConfigurableMockTestCase
org.apache.myfaces.test.base.junit4.AbstractJsfTestCase
org.apache.myfaces.test.base.junit4.AbstractViewControllerTestCase
None None java.lang
java.net
java.util
javax.faces
javax.faces.application
javax.faces.component
javax.faces.context
javax.faces.lifecycle
javax.faces.render
org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.mock.lifecycle
org.junit

org.apache.myfaces.test.cargo

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.test.cargo.CargoTestSetup
None java.io
java.lang
junit.extensions
junit.framework
org.codehaus.cargo.container
org.codehaus.cargo.container.configuration
org.codehaus.cargo.container.deployable
org.codehaus.cargo.generic
org.codehaus.cargo.generic.configuration
org.codehaus.cargo.generic.deployable
org.codehaus.cargo.util.log

org.apache.myfaces.test.config

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 10 0.0% 71.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.apache.myfaces.test.config.ConfigParser
org.apache.myfaces.test.config.ConfigParser$ComponentBean
org.apache.myfaces.test.config.ConfigParser$ComponentRule
org.apache.myfaces.test.config.ConfigParser$ConverterBean
org.apache.myfaces.test.config.ConfigParser$ConverterRule
org.apache.myfaces.test.config.ConfigParser$RenderKitIdRule
org.apache.myfaces.test.config.ConfigParser$RenderKitRule
org.apache.myfaces.test.config.ConfigParser$RendererBean
org.apache.myfaces.test.config.ConfigParser$RendererRule
org.apache.myfaces.test.config.ConfigParser$ValidatorBean
org.apache.myfaces.test.config.ConfigParser$ValidatorRule
org.apache.myfaces.test.config.ResourceBundleVarNames
org.apache.myfaces.test.base
org.apache.myfaces.test.base.junit4
org.apache.myfaces.test.jmock
org.apache.myfaces.test.mock
java.io
java.lang
java.net
java.util
javax.faces
javax.faces.application
javax.faces.render
org.apache.commons.digester
org.apache.myfaces.test.mock
org.xml.sax

org.apache.myfaces.test.el

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 13 6.0% 93.0% 1.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.el.AbstractELResolver
org.apache.myfaces.test.el.ExpressionTokenizer
org.apache.myfaces.test.el.FacesImplicitObjectELResolver
org.apache.myfaces.test.el.FacesPropertyResolverChainWrapper
org.apache.myfaces.test.el.FacesResourceBundleELResolver
org.apache.myfaces.test.el.FacesScopedAttributeELResolver
org.apache.myfaces.test.el.FacesVariableResolverChainWrapper
org.apache.myfaces.test.el.MockCompositeValueExpression
org.apache.myfaces.test.el.MockELContext
org.apache.myfaces.test.el.MockExpressionFactory
org.apache.myfaces.test.el.MockFunctionMapper
org.apache.myfaces.test.el.MockMethodExpression
org.apache.myfaces.test.el.MockValueExpression
org.apache.myfaces.test.el.MockVariableMapper
org.apache.myfaces.test.el.MockVariableValueExpression
org.apache.myfaces.test.el.ReservedWordsELResolver
org.apache.myfaces.test.mock
java.beans
java.io
java.lang
java.lang.reflect
java.math
java.text
java.util
javax.el
javax.faces.application
javax.faces.component
javax.faces.context
javax.faces.el
org.apache.myfaces.test.mock

org.apache.myfaces.test.htmlunit

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.htmlunit.AbstractHtmlUnitTestCase
None None com.gargoylesoftware.htmlunit
com.gargoylesoftware.htmlunit.html
java.io
java.lang
java.net
java.util
junit.framework

org.apache.myfaces.test.htmlunit.junit4

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.htmlunit.junit4.AbstractHtmlUnitTestCase
None None com.gargoylesoftware.htmlunit
com.gargoylesoftware.htmlunit.html
java.io
java.lang
java.net
java.util

org.apache.myfaces.test.jmock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.jmock.AbstractJmockJsfTestCase
None None java.lang
java.net
javax.faces
javax.faces.application
javax.faces.component
javax.faces.render
org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.mock.lifecycle
org.jmock.cglib

org.apache.myfaces.test.mock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 25 5.0% 83.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.mock._AbstractAttributeMap
org.apache.myfaces.test.mock._AbstractAttributeMap$AbstractAttributeIterator
org.apache.myfaces.test.mock._AbstractAttributeMap$AbstractAttributeSet
org.apache.myfaces.test.mock.MockActionListener
org.apache.myfaces.test.mock.MockApplication
org.apache.myfaces.test.mock.MockApplication12
org.apache.myfaces.test.mock.MockApplicationFactory
org.apache.myfaces.test.mock.MockEnumeration
org.apache.myfaces.test.mock.MockExternalContext
org.apache.myfaces.test.mock.MockExternalContext$1
org.apache.myfaces.test.mock.MockExternalContext$LocalesIterator
org.apache.myfaces.test.mock.MockExternalContext12
org.apache.myfaces.test.mock.MockFacesContext
org.apache.myfaces.test.mock.MockFacesContext12
org.apache.myfaces.test.mock.MockFacesContextFactory
org.apache.myfaces.test.mock.MockHttpServletRequest
org.apache.myfaces.test.mock.MockHttpServletResponse
org.apache.myfaces.test.mock.MockHttpSession
org.apache.myfaces.test.mock.MockHttpSessionProxy
org.apache.myfaces.test.mock.MockMethodBinding
org.apache.myfaces.test.mock.MockNavigationHandler
org.apache.myfaces.test.mock.MockPortletContext
org.apache.myfaces.test.mock.MockPortletRequest
org.apache.myfaces.test.mock.MockPortletResponse
org.apache.myfaces.test.mock.MockPortletSession
org.apache.myfaces.test.mock.MockPrincipal
org.apache.myfaces.test.mock.MockPrintWriter
org.apache.myfaces.test.mock.MockPropertyResolver
org.apache.myfaces.test.mock.MockRenderKit
org.apache.myfaces.test.mock.MockRenderKit$1
org.apache.myfaces.test.mock.MockRenderKitFactory
org.apache.myfaces.test.mock.MockRequestDispatcher
org.apache.myfaces.test.mock.MockResponseStateManager
org.apache.myfaces.test.mock.MockResponseWriter
org.apache.myfaces.test.mock.MockServlet
org.apache.myfaces.test.mock.MockServletConfig
org.apache.myfaces.test.mock.MockServletContext
org.apache.myfaces.test.mock.MockServletInputStream
org.apache.myfaces.test.mock.MockServletOutputStream
org.apache.myfaces.test.mock.MockStateManager
org.apache.myfaces.test.mock.MockValueBinding
org.apache.myfaces.test.mock.MockVariableResolver
org.apache.myfaces.test.mock.MockViewHandler
org.apache.myfaces.test.mock.MockWebContainer
org.apache.myfaces.test.mock.MockedJsfTestContainer
org.apache.myfaces.test.mock._AbstractAttributeMap$1
org.apache.myfaces.test.mock._AbstractAttributeMap$EntryIterator
org.apache.myfaces.test.mock._AbstractAttributeMap$EntrySet
org.apache.myfaces.test.mock._AbstractAttributeMap$EntrySetEntry
org.apache.myfaces.test.mock._AbstractAttributeMap$KeyIterator
org.apache.myfaces.test.mock._AbstractAttributeMap$KeySet
org.apache.myfaces.test.mock._AbstractAttributeMap$Values
org.apache.myfaces.test.mock._AbstractAttributeMap$ValuesIterator
org.apache.myfaces.test.mock._ApplicationMap
org.apache.myfaces.test.mock._CookieMap
org.apache.myfaces.test.mock._CookieMap$CookieNameEnumeration
org.apache.myfaces.test.mock._Hex
org.apache.myfaces.test.mock._InitParameterMap
org.apache.myfaces.test.mock._NullEnumeration
org.apache.myfaces.test.mock._RequestHeaderMap
org.apache.myfaces.test.mock._RequestHeaderValuesMap
org.apache.myfaces.test.mock._RequestMap
org.apache.myfaces.test.mock._RequestParameterMap
org.apache.myfaces.test.mock._RequestParameterValuesMap
org.apache.myfaces.test.mock._SessionMap
org.apache.myfaces.test.base
org.apache.myfaces.test.base.junit4
org.apache.myfaces.test.config
org.apache.myfaces.test.el
org.apache.myfaces.test.jmock
java.beans
java.io
java.lang
java.lang.reflect
java.net
java.security
java.text
java.util
javax.el
javax.faces
javax.faces.application
javax.faces.component
javax.faces.context
javax.faces.convert
javax.faces.el
javax.faces.event
javax.faces.lifecycle
javax.faces.render
javax.faces.validator
javax.portlet
javax.servlet
javax.servlet.http
org.apache.myfaces.test.config
org.apache.myfaces.test.el
org.apache.myfaces.test.mock.lifecycle

org.apache.myfaces.test.mock.lifecycle

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 12 17.0% 75.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.mock.lifecycle.PhaseExecutor
org.apache.myfaces.test.mock.lifecycle.RestoreViewSupport
org.apache.myfaces.test.mock.lifecycle.ApplyRequestValuesExecutor
org.apache.myfaces.test.mock.lifecycle.DefaultRestoreViewSupport
org.apache.myfaces.test.mock.lifecycle.InvokeApplicationExecutor
org.apache.myfaces.test.mock.lifecycle.MockLifecycle
org.apache.myfaces.test.mock.lifecycle.MockLifecycleFactory
org.apache.myfaces.test.mock.lifecycle.PhaseListenerManager
org.apache.myfaces.test.mock.lifecycle.ProcessValidationsExecutor
org.apache.myfaces.test.mock.lifecycle.RenderResponseExecutor
org.apache.myfaces.test.mock.lifecycle.RestoreViewExecutor
org.apache.myfaces.test.mock.lifecycle.UpdateModelValuesExecutor
org.apache.myfaces.test.base
org.apache.myfaces.test.base.junit4
org.apache.myfaces.test.jmock
org.apache.myfaces.test.mock
java.io
java.lang
java.util
javax.el
javax.faces
javax.faces.application
javax.faces.component
javax.faces.context
javax.faces.event
javax.faces.lifecycle
org.apache.commons.logging
org.apache.myfaces.test.util

org.apache.myfaces.test.runners

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.test.runners.NamedRunner
org.apache.myfaces.test.runners.TestClassLoader
org.apache.myfaces.test.runners.TestPerClassLoaderRunner
None java.io
java.lang
java.net
java.util
java.util.jar
java.util.logging
java.util.zip
org.junit
org.junit.internal.runners.statements
org.junit.runner.notification
org.junit.runners
org.junit.runners.model

org.apache.myfaces.test.util

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.test.util.Jsf11Utils
org.apache.myfaces.test.util.Jsf12Utils
org.apache.myfaces.test.util.JsfVersion
org.apache.myfaces.test.mock.lifecycle
java.lang
javax.faces.application
javax.faces.context

Cycles

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

Package Package Dependencies
org.apache.myfaces.test.base org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.base.junit4 org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.config org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.el org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.jmock org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.mock org.apache.myfaces.test.el
org.apache.myfaces.test.mock

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.