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 ]

PackageTCCCACCaCeAIDV
org.apache.myfaces.test.base202011100.0%100.0%100.0%1
org.apache.myfaces.test.base.junit4303013100.0%100.0%100.0%1
org.apache.myfaces.test.cargo1100110.0%100.0%0.0%1
org.apache.myfaces.test.config121204100.0%71.0%29.0%1
org.apache.myfaces.test.el161511136.0%93.0%1.0%1
org.apache.myfaces.test.htmlunit10107100.0%100.0%100.0%1
org.apache.myfaces.test.htmlunit.junit410106100.0%100.0%100.0%1
org.apache.myfaces.test.jmock101010100.0%100.0%100.0%1
org.apache.myfaces.test.mock625935245.0%83.0%12.0%1
org.apache.myfaces.test.mock.lifecycle1210231217.0%80.0%3.0%1
org.apache.myfaces.test.runners3300120.0%100.0%0.0%1
org.apache.myfaces.test.util330130.0%75.0%25.0%1

Packages

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

org.apache.myfaces.test.base

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
011100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.myfaces.test.base.AbstractJsfTestCase
org.apache.myfaces.test.base.AbstractViewControllerTestCase
NoneNonejava.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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
013100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.myfaces.test.base.junit4.AbstractJsfConfigurableMockTestCase
org.apache.myfaces.test.base.junit4.AbstractJsfTestCase
org.apache.myfaces.test.base.junit4.AbstractViewControllerTestCase
NoneNonejava.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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0110.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.apache.myfaces.test.cargo.CargoTestSetup
Nonejava.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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
4100.0%71.0%29.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1136.0%93.0%1.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses 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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
07100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.myfaces.test.htmlunit.AbstractHtmlUnitTestCase
NoneNonecom.gargoylesoftware.htmlunit
com.gargoylesoftware.htmlunit.html
java.io
java.lang
java.net
java.util
junit.framework

org.apache.myfaces.test.htmlunit.junit4

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
06100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.myfaces.test.htmlunit.junit4.AbstractHtmlUnitTestCase
NoneNonecom.gargoylesoftware.htmlunit
com.gargoylesoftware.htmlunit.html
java.io
java.lang
java.net
java.util

org.apache.myfaces.test.jmock

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
010100.0%100.0%100.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
org.apache.myfaces.test.jmock.AbstractJmockJsfTestCase
NoneNonejava.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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
5245.0%83.0%12.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses 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.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._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

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
31217.0%80.0%3.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses 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
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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0120.0%100.0%0.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.apache.myfaces.test.runners.NamedRunner
org.apache.myfaces.test.runners.TestClassLoader
org.apache.myfaces.test.runners.TestPerClassLoaderRunner
Nonejava.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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
130.0%75.0%25.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.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 ]

PackagePackage Dependencies
org.apache.myfaces.test.baseorg.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.base.junit4org.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.configorg.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.elorg.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.jmockorg.apache.myfaces.test.config
org.apache.myfaces.test.mock
org.apache.myfaces.test.el
org.apache.myfaces.test.mock
org.apache.myfaces.test.mockorg.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.

TermDescription
Number of ClassesThe number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent CouplingsThe number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent CouplingsThe number of other packages that the classes in the package depend upon is an indicator of the package's independence.
AbstractnessThe 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.
InstabilityThe 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.
DistanceThe 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.
CyclesPackages 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.