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 4 0 4 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 16 16 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 84 81 3 6 34 4.0% 85.0% 11.0% 1
org.apache.myfaces.test.mock.lifecycle 12 10 2 4 12 17.0% 75.0% 8.0% 1
org.apache.myfaces.test.mock.resource 12 11 1 1 10 8.0% 91.0% 1.0% 1
org.apache.myfaces.test.mock.visit 8 8 0 1 5 0.0% 83.0% 17.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.AbstractJsfConfigurableMultipleRequestsTestCase
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$BehaviorBean
org.apache.myfaces.test.config.ConfigParser$BehaviorRule
org.apache.myfaces.test.config.ConfigParser$ClientBehaviorRendererBean
org.apache.myfaces.test.config.ConfigParser$ClientBehaviorRendererRule
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
6 34 4.0% 85.0% 11.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.MockApplication20
org.apache.myfaces.test.mock.MockApplication20$SystemListenerEntry
org.apache.myfaces.test.mock.MockApplicationFactory
org.apache.myfaces.test.mock.MockEnumeration
org.apache.myfaces.test.mock.MockExceptionHandler
org.apache.myfaces.test.mock.MockExceptionHandlerFactory
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.MockExternalContext20
org.apache.myfaces.test.mock.MockFacesContext
org.apache.myfaces.test.mock.MockFacesContext12
org.apache.myfaces.test.mock.MockFacesContext20
org.apache.myfaces.test.mock.MockFacesContextFactory
org.apache.myfaces.test.mock.MockFlash
org.apache.myfaces.test.mock.MockFlash$MessageEntry
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.MockPartialViewContext
org.apache.myfaces.test.mock.MockPartialViewContextFactory
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.MockSubKeyMap
org.apache.myfaces.test.mock.MockSubKeyMap$Entries
org.apache.myfaces.test.mock.MockSubKeyMap$Entry
org.apache.myfaces.test.mock.MockSubKeyMap$EntryIterator
org.apache.myfaces.test.mock.MockValueBinding
org.apache.myfaces.test.mock.MockVariableResolver
org.apache.myfaces.test.mock.MockViewHandler
org.apache.myfaces.test.mock.MockViewHandler20
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._ELText
org.apache.myfaces.test.mock._ELText$ELTextComposite
org.apache.myfaces.test.mock._ELText$ELTextVariable
org.apache.myfaces.test.mock._ELText$LiteralValueExpression
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
org.apache.myfaces.test.mock.resource
java.beans
java.io
java.lang
java.lang.reflect
java.math
java.net
java.security
java.text
java.util
java.util.concurrent
java.util.concurrent.atomic
javax.el
javax.faces
javax.faces.application
javax.faces.component
javax.faces.component.behavior
javax.faces.component.visit
javax.faces.context
javax.faces.convert
javax.faces.el
javax.faces.event
javax.faces.lifecycle
javax.faces.render
javax.faces.validator
javax.faces.view
javax.portlet
javax.servlet
javax.servlet.http
org.apache.commons.logging
org.apache.myfaces.test.config
org.apache.myfaces.test.el
org.apache.myfaces.test.mock.lifecycle
org.apache.myfaces.test.mock.resource
org.apache.myfaces.test.mock.visit

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.mock.resource

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 10 8.0% 91.0% 1.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.myfaces.test.mock.resource.MockResourceLoader
org.apache.myfaces.test.mock.resource.MockClassLoaderResourceLoader
org.apache.myfaces.test.mock.resource.MockExternalContextResourceLoader
org.apache.myfaces.test.mock.resource.MockResource
org.apache.myfaces.test.mock.resource.MockResourceHandler
org.apache.myfaces.test.mock.resource.MockResourceHandler$1
org.apache.myfaces.test.mock.resource.MockResourceHandlerSupport
org.apache.myfaces.test.mock.resource.MockResourceLoader$VersionComparator
org.apache.myfaces.test.mock.resource.MockResourceMeta
org.apache.myfaces.test.mock.resource.MockSimpleResource
org.apache.myfaces.test.mock.resource.MockSimpleResourceHandler
org.apache.myfaces.test.mock.resource.MockSimpleResourceHandler$1
org.apache.myfaces.test.mock
java.io
java.lang
java.net
java.security
java.util
java.util.regex
javax.faces
javax.faces.application
javax.faces.context
org.apache.myfaces.test.mock

org.apache.myfaces.test.mock.visit

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.test.mock.visit.FullVisitContext
org.apache.myfaces.test.mock.visit.MockVisitCallback
org.apache.myfaces.test.mock.visit.MockVisitContext
org.apache.myfaces.test.mock.visit.MockVisitContextFactory
org.apache.myfaces.test.mock.visit.PartialVisitContext
org.apache.myfaces.test.mock.visit.PartialVisitContext$1
org.apache.myfaces.test.mock.visit.PartialVisitContext$CollectionProxy
org.apache.myfaces.test.mock.visit.PartialVisitContext$IteratorProxy
org.apache.myfaces.test.mock
java.lang
java.util
javax.faces.component
javax.faces.component.visit
javax.faces.context

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
org.apache.myfaces.test.mock.resource 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.