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.displaytag 1 1 0 9 3 0.0% 25.0% 75.0% 1
org.displaytag.decorator 14 9 5 5 16 36.0% 76.0% 12.0% 1
org.displaytag.exception 14 12 2 7 6 14.0% 46.0% 40.0% 1
org.displaytag.export 16 11 5 1 17 31.0% 94.0% 26.0% 1
org.displaytag.filter 6 5 1 0 10 17.0% 100.0% 17.0% 1
org.displaytag.localization 6 4 2 2 18 33.0% 90.0% 23.0% 1
org.displaytag.model 9 9 0 5 13 0.0% 72.0% 28.0% 1
org.displaytag.pagination 6 5 1 2 9 17.0% 82.0% 2.0% 1
org.displaytag.properties 5 5 0 7 17 0.0% 71.0% 29.0% 1
org.displaytag.render 6 3 3 2 16 50.0% 89.0% 39.0% 1
org.displaytag.tags 12 10 2 2 24 17.0% 92.0% 9.0% 1
org.displaytag.tags.el 8 8 0 0 8 0.0% 100.0% 0.0% 1
org.displaytag.util 19 15 4 7 15 21.0% 68.0% 11.0% 1

Packages

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

org.displaytag

Afferent Couplings Efferent Couplings Abstractness Instability Distance
9 3 0.0% 25.0% 75.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.Messages
org.displaytag.decorator
org.displaytag.exception
org.displaytag.export
org.displaytag.filter
org.displaytag.localization
org.displaytag.pagination
org.displaytag.properties
org.displaytag.tags
org.displaytag.util
java.lang
java.text
java.util

org.displaytag.decorator

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 16 36.0% 76.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.decorator.ColumnDecorator
org.displaytag.decorator.Decorator
org.displaytag.decorator.DecoratorFactory
org.displaytag.decorator.DisplaytagColumnDecorator
org.displaytag.decorator.TableDecorator
org.displaytag.decorator.AutolinkColumnDecorator
org.displaytag.decorator.CheckboxTableDecorator
org.displaytag.decorator.DefaultDecoratorFactory
org.displaytag.decorator.DefaultDecoratorFactory$DeprecatedDecoratorWrapper
org.displaytag.decorator.EscapeXmlColumnDecorator
org.displaytag.decorator.MessageFormatColumnDecorator
org.displaytag.decorator.MultilevelTotalTableDecorator
org.displaytag.decorator.MultilevelTotalTableDecorator$GroupTotals
org.displaytag.decorator.TotalTableDecorator
org.displaytag.export
org.displaytag.model
org.displaytag.properties
org.displaytag.render
org.displaytag.tags
java.beans
java.io
java.lang
java.lang.reflect
java.text
java.util
javax.servlet
javax.servlet.jsp
org.apache.commons.beanutils
org.apache.commons.lang
org.apache.commons.logging
org.displaytag
org.displaytag.exception
org.displaytag.model
org.displaytag.properties
org.displaytag.util

org.displaytag.exception

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 6 14.0% 46.0% 40.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.exception.BaseNestableJspTagException
org.displaytag.exception.BaseNestableRuntimeException
org.displaytag.exception.DecoratorException
org.displaytag.exception.DecoratorInstantiationException
org.displaytag.exception.ExportException
org.displaytag.exception.FactoryInstantiationException
org.displaytag.exception.InvalidTagAttributeValueException
org.displaytag.exception.MissingAttributeException
org.displaytag.exception.ObjectLookupException
org.displaytag.exception.RuntimeLookupException
org.displaytag.exception.SeverityEnum
org.displaytag.exception.TablePropertiesLoadException
org.displaytag.exception.TagStructureException
org.displaytag.exception.WrappedRuntimeException
org.displaytag.decorator
org.displaytag.export
org.displaytag.model
org.displaytag.properties
org.displaytag.render
org.displaytag.tags
org.displaytag.util
java.lang
javax.servlet.jsp
org.apache.commons.lang
org.apache.commons.lang.enums
org.apache.commons.logging
org.displaytag

org.displaytag.export

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 17 31.0% 94.0% 26.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.export.BaseExportView
org.displaytag.export.BinaryExportView
org.displaytag.export.DefaultItextExportView
org.displaytag.export.ExportView
org.displaytag.export.TextExportView
org.displaytag.export.CsvView
org.displaytag.export.DefaultItextExportView$ItextGenerationException
org.displaytag.export.DefaultPdfExportView
org.displaytag.export.DefaultPdfExportView$1
org.displaytag.export.DefaultPdfExportView$PageNumber
org.displaytag.export.DefaultRtfExportView
org.displaytag.export.ExcelView
org.displaytag.export.ExportViewFactory
org.displaytag.export.PdfView
org.displaytag.export.PdfView$PdfGenerationException
org.displaytag.export.XmlView
org.displaytag.tags
com.lowagie.text
com.lowagie.text.pdf
com.lowagie.text.rtf
java.awt
java.io
java.lang
java.util
javax.servlet.jsp
org.apache.commons.lang
org.apache.commons.logging
org.displaytag
org.displaytag.decorator
org.displaytag.exception
org.displaytag.model
org.displaytag.properties
org.displaytag.render
org.displaytag.util

org.displaytag.filter

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 17.0% 100.0% 17.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.filter.BufferedResponseWrapper
org.displaytag.filter.BufferedResponseWrapper13Impl
org.displaytag.filter.DisplayTagSpringInterceptor
org.displaytag.filter.ExportDelegate
org.displaytag.filter.ResponseOverrideFilter
org.displaytag.filter.SimpleServletOutputStream
None java.io
java.lang
java.util
javax.servlet
javax.servlet.http
org.apache.commons.lang
org.apache.commons.logging
org.displaytag
org.springframework.web.servlet
org.springframework.web.servlet.mvc

org.displaytag.localization

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 18 33.0% 90.0% 23.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.localization.I18nResourceProvider
org.displaytag.localization.LocaleResolver
org.displaytag.localization.I18nJstlAdapter
org.displaytag.localization.I18nSpringAdapter
org.displaytag.localization.I18nStrutsAdapter
org.displaytag.localization.I18nWebworkAdapter
org.displaytag.properties
org.displaytag.tags
com.opensymphony.webwork.views.jsp
com.opensymphony.xwork
com.opensymphony.xwork.util
java.lang
java.util
javax.servlet
javax.servlet.http
javax.servlet.jsp
javax.servlet.jsp.jstl.core
javax.servlet.jsp.jstl.fmt
javax.servlet.jsp.tagext
org.apache.commons.logging
org.apache.struts.config
org.apache.struts.util
org.apache.taglibs.standard.tag.common.fmt
org.displaytag
org.springframework.context
org.springframework.web.servlet.support

org.displaytag.model

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 13 0.0% 72.0% 28.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.model.Cell
org.displaytag.model.Column
org.displaytag.model.ColumnIterator
org.displaytag.model.DefaultComparator
org.displaytag.model.HeaderCell
org.displaytag.model.Row
org.displaytag.model.RowIterator
org.displaytag.model.RowSorter
org.displaytag.model.TableModel
org.displaytag.decorator
org.displaytag.export
org.displaytag.properties
org.displaytag.render
org.displaytag.tags
java.io
java.lang
java.net
java.text
java.util
javax.servlet.jsp
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.logging
org.displaytag.decorator
org.displaytag.exception
org.displaytag.properties
org.displaytag.util

org.displaytag.pagination

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 9 17.0% 82.0% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.pagination.PaginatedList
org.displaytag.pagination.NumberedPage
org.displaytag.pagination.PaginatedListSmartListHelper
org.displaytag.pagination.Pagination
org.displaytag.pagination.PaginationHelper
org.displaytag.pagination.SmartListHelper
org.displaytag.render
org.displaytag.tags
java.lang
java.text
java.util
org.apache.commons.collections
org.apache.commons.lang.builder
org.apache.commons.logging
org.displaytag
org.displaytag.properties
org.displaytag.util

org.displaytag.properties

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 17 0.0% 71.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.properties.MediaTypeEnum
org.displaytag.properties.SortOrderEnum
org.displaytag.properties.TableProperties
org.displaytag.properties.TableProperties$1
org.displaytag.properties.TableProperties$2
org.displaytag.decorator
org.displaytag.export
org.displaytag.model
org.displaytag.pagination
org.displaytag.render
org.displaytag.tags
org.displaytag.util
java.io
java.lang
java.text
java.util
javax.servlet.http
javax.servlet.jsp
javax.servlet.jsp.tagext
org.apache.commons.collections.iterators
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.logging
org.displaytag
org.displaytag.decorator
org.displaytag.exception
org.displaytag.localization
org.displaytag.model
org.displaytag.util

org.displaytag.render

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 16 50.0% 89.0% 39.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.render.ItextTableWriter$ItextDecorator
org.displaytag.render.TableWriterAdapter
org.displaytag.render.TableWriterTemplate
org.displaytag.render.HtmlTableWriter
org.displaytag.render.ItextTableWriter
org.displaytag.render.TableWriterTemplate$CellStruct
org.displaytag.export
org.displaytag.tags
com.lowagie.text
java.awt
java.io
java.lang
java.text
java.util
javax.servlet.jsp
org.apache.commons.lang
org.apache.commons.logging
org.displaytag.decorator
org.displaytag.exception
org.displaytag.model
org.displaytag.pagination
org.displaytag.properties
org.displaytag.tags
org.displaytag.util

org.displaytag.tags

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 24 17.0% 92.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.tags.HtmlTableTag
org.displaytag.tags.TemplateTag
org.displaytag.tags.CaptionTag
org.displaytag.tags.CaptionTagBeanInfo
org.displaytag.tags.ColumnTag
org.displaytag.tags.ColumnTagBeanInfo
org.displaytag.tags.SetPropertyTag
org.displaytag.tags.TableFooterTag
org.displaytag.tags.TableTag
org.displaytag.tags.TableTagBeanInfo
org.displaytag.tags.TableTagExtraInfo
org.displaytag.tags.TableTagParameters
org.displaytag.render
org.displaytag.tags.el
java.beans
java.io
java.lang
java.util
javax.servlet
javax.servlet.http
javax.servlet.jsp
javax.servlet.jsp.tagext
org.apache.commons.beanutils
org.apache.commons.collections
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.lang.math
org.apache.commons.logging
org.displaytag
org.displaytag.decorator
org.displaytag.exception
org.displaytag.export
org.displaytag.localization
org.displaytag.model
org.displaytag.pagination
org.displaytag.properties
org.displaytag.render
org.displaytag.util

org.displaytag.tags.el

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.tags.el.ELCaptionTag
org.displaytag.tags.el.ELCaptionTagBeanInfo
org.displaytag.tags.el.ELColumnTag
org.displaytag.tags.el.ELColumnTagBeanInfo
org.displaytag.tags.el.ELSetPropertyTag
org.displaytag.tags.el.ELTableTag
org.displaytag.tags.el.ELTableTagBeanInfo
org.displaytag.tags.el.ExpressionEvaluator
None java.beans
java.lang
java.util
javax.servlet.jsp
javax.servlet.jsp.tagext
org.apache.commons.lang
org.apache.taglibs.standard.lang.support
org.displaytag.tags

org.displaytag.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 15 21.0% 68.0% 11.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.util.Href
org.displaytag.util.MediaUtil$SupportsMedia
org.displaytag.util.RequestHelper
org.displaytag.util.RequestHelperFactory
org.displaytag.util.Anchor
org.displaytag.util.CollectionUtil
org.displaytag.util.DefaultHref
org.displaytag.util.DefaultRequestHelper
org.displaytag.util.DefaultRequestHelperFactory
org.displaytag.util.DependencyChecker
org.displaytag.util.HtmlAttributeMap
org.displaytag.util.HtmlTagUtil
org.displaytag.util.LookupUtil
org.displaytag.util.MediaUtil
org.displaytag.util.MultipleHtmlAttribute
org.displaytag.util.ParamEncoder
org.displaytag.util.PostHref
org.displaytag.util.ReflectHelper
org.displaytag.util.TagConstants
org.displaytag.decorator
org.displaytag.export
org.displaytag.model
org.displaytag.pagination
org.displaytag.properties
org.displaytag.render
org.displaytag.tags
java.io
java.lang
java.lang.reflect
java.net
java.util
javax.servlet.http
javax.servlet.jsp
org.apache.commons.beanutils
org.apache.commons.collections
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.logging
org.displaytag
org.displaytag.exception
org.displaytag.properties

Cycles

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

Package Package Dependencies
org.displaytag.decorator org.displaytag.model
org.displaytag.properties
org.displaytag.model
org.displaytag.export org.displaytag.model
org.displaytag.properties
org.displaytag.model
org.displaytag.model org.displaytag.properties
org.displaytag.model
org.displaytag.pagination org.displaytag.util
org.displaytag.properties
org.displaytag.model
org.displaytag.properties
org.displaytag.properties org.displaytag.model
org.displaytag.properties
org.displaytag.render org.displaytag.model
org.displaytag.properties
org.displaytag.model
org.displaytag.tags org.displaytag.model
org.displaytag.properties
org.displaytag.model
org.displaytag.tags.el org.displaytag.tags
org.displaytag.model
org.displaytag.properties
org.displaytag.model
org.displaytag.util org.displaytag.properties
org.displaytag.model
org.displaytag.properties

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.