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.junit4404013100.0%100.0%100.0%1
org.apache.myfaces.test.cargo1100110.0%100.0%0.0%1
org.apache.myfaces.test.config161604100.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.mock817836334.0%85.0%12.0%1
org.apache.myfaces.test.mock.lifecycle1210231217.0%80.0%3.0%1
org.apache.myfaces.test.mock.resource121111108.0%91.0%1.0%1
org.apache.myfaces.test.mock.visit880150.0%83.0%17.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.AbstractJsfConfigurableMultipleRequestsTestCase
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$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 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
6334.0%85.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.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.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._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.resource
org.apache.myfaces.test.mock.visit

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

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
1108.0%91.0%1.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses 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 CouplingsEfferent CouplingsAbstractnessInstabilityDistance
150.0%83.0%17.0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Noneorg.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 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
org.apache.myfaces.test.mock.resourceorg.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.

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.