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 13 9 4 4 19 31.0% 83.0% 13.0% 1
org.displaytag.decorator.hssf 1 0 1 1 2 100.0% 67.0% 67.0% 1
org.displaytag.exception 14 12 2 7 6 14.0% 46.0% 40.0% 1
org.displaytag.export 19 14 5 3 25 26.0% 89.0% 16.0% 1
org.displaytag.export.excel 7 7 0 1 15 0.0% 94.0% 6.0% 1
org.displaytag.filter 6 5 1 0 12 17.0% 100.0% 17.0% 1
org.displaytag.localization 5 3 2 1 16 40.0% 94.0% 34.0% 1
org.displaytag.model 9 9 0 7 14 0.0% 67.0% 33.0% 1
org.displaytag.pagination 6 5 1 1 9 17.0% 90.0% 7.0% 1
org.displaytag.portlet 3 3 0 0 6 0.0% 100.0% 0.0% 1
org.displaytag.properties 2 2 0 8 5 0.0% 38.0% 62.0% 1
org.displaytag.render 7 4 3 5 20 43.0% 80.0% 23.0% 1
org.displaytag.tags 12 10 2 1 25 17.0% 96.0% 13.0% 1
org.displaytag.test 7 7 0 1 5 0.0% 83.0% 17.0% 1
org.displaytag.util 18 14 4 8 17 22.0% 68.0% 10.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.export.excel
org.displaytag.filter
org.displaytag.localization
org.displaytag.pagination
org.displaytag.tags
org.displaytag.util
java.lang
java.text
java.util

org.displaytag.decorator

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 19 31.0% 83.0% 13.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
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.EscapeXmlColumnDecorator
org.displaytag.decorator.MessageFormatColumnDecorator
org.displaytag.decorator.ModelDecorator
org.displaytag.decorator.MultilevelTotalTableDecorator
org.displaytag.decorator.MultilevelTotalTableDecorator$GroupTotals
org.displaytag.decorator.TotalTableDecorator
org.displaytag.export
org.displaytag.model
org.displaytag.render
org.displaytag.tags
java.beans
java.io
java.lang
java.lang.reflect
java.text
java.util
java.util.concurrent
javax.servlet
javax.servlet.jsp
org.apache.commons.beanutils
org.apache.commons.lang3
org.apache.commons.text
org.displaytag
org.displaytag.exception
org.displaytag.model
org.displaytag.properties
org.displaytag.render
org.displaytag.util
org.slf4j

org.displaytag.decorator.hssf

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 100.0% 67.0% 67.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.displaytag.decorator.hssf.DecoratesHssf
None org.displaytag.render
java.lang
org.apache.poi.hssf.usermodel

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.export.excel
org.displaytag.model
org.displaytag.render
org.displaytag.tags
org.displaytag.util
java.lang
javax.servlet.jsp
org.apache.commons.lang3
org.displaytag
org.displaytag.util
org.slf4j

org.displaytag.export

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 25 26.0% 89.0% 16.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.ExcelView
org.displaytag.export.ExportViewFactory
org.displaytag.export.FopExportView
org.displaytag.export.PdfView
org.displaytag.export.PdfView$1
org.displaytag.export.PdfView$PdfGenerationException
org.displaytag.export.XmlTotalsWriter
org.displaytag.export.XmlTotalsWriter$1
org.displaytag.export.XmlView
org.displaytag.export.excel
org.displaytag.render
org.displaytag.tags
com.itextpdf.text
com.itextpdf.text.pdf
java.io
java.lang
java.lang.reflect
java.nio.charset
java.util
java.util.regex
javax.servlet.jsp
javax.xml.transform
javax.xml.transform.sax
javax.xml.transform.stream
org.apache.commons.lang3
org.apache.commons.text
org.apache.fop.apps
org.apache.fop.fo
org.apache.xmlgraphics.util
org.displaytag
org.displaytag.decorator
org.displaytag.exception
org.displaytag.model
org.displaytag.properties
org.displaytag.render
org.displaytag.util
org.slf4j

org.displaytag.export.excel

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 15 0.0% 94.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.export.excel.DefaultHssfExportView
org.displaytag.export.excel.DefaultHssfExportView$HssfGenerationException
org.displaytag.export.excel.ExcelHssfView
org.displaytag.export.excel.ExcelUtils
org.displaytag.export.excel.ExcelUtils$CellFormatTypes
org.displaytag.export.excel.ExcelUtils$ExcelGenerationException
org.displaytag.export.excel.HssfDoubleExportView
org.displaytag.render
java.io
java.lang
java.util
javax.servlet.jsp
org.apache.commons.lang3
org.apache.commons.text
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.util
org.apache.poi.ss.usermodel
org.displaytag
org.displaytag.exception
org.displaytag.export
org.displaytag.model
org.displaytag.properties
org.displaytag.render

org.displaytag.filter

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 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.nio.charset
java.util
javax.servlet
javax.servlet.http
org.apache.commons.lang3
org.displaytag
org.displaytag.tags
org.slf4j
org.springframework.web.servlet
org.springframework.web.servlet.mvc

org.displaytag.localization

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 16 40.0% 94.0% 34.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.I18nStruts2Adapter
org.displaytag.tags
com.opensymphony.xwork2
com.opensymphony.xwork2.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.struts2.views.jsp
org.apache.taglibs.standard.tag.common.fmt
org.displaytag
org.slf4j
org.springframework.context
org.springframework.web.servlet.support

org.displaytag.model

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 14 0.0% 67.0% 33.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.export.excel
org.displaytag.render
org.displaytag.tags
org.displaytag.test
org.displaytag.util
java.io
java.lang
java.net
java.text
java.util
javax.servlet.jsp
org.apache.commons.lang3
org.apache.commons.lang3.builder
org.displaytag.decorator
org.displaytag.exception
org.displaytag.properties
org.displaytag.render
org.displaytag.util
org.slf4j

org.displaytag.pagination

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 17.0% 90.0% 7.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.SimplePaginatedList
org.displaytag.pagination.SmartListHelper
org.displaytag.tags
java.lang
java.text
java.util
org.apache.commons.lang3.builder
org.displaytag
org.displaytag.properties
org.displaytag.test
org.displaytag.util
org.slf4j

org.displaytag.portlet

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.portlet.PortletHref
org.displaytag.portlet.PortletRequestHelper
org.displaytag.portlet.PortletRequestHelperFactory
None java.lang
java.util
javax.portlet
javax.servlet.jsp
org.apache.commons.lang3.builder
org.displaytag.util

org.displaytag.properties

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 5 0.0% 38.0% 62.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.displaytag.properties.MediaTypeEnum
org.displaytag.properties.SortOrderEnum
org.displaytag.decorator
org.displaytag.export
org.displaytag.export.excel
org.displaytag.model
org.displaytag.pagination
org.displaytag.render
org.displaytag.tags
org.displaytag.util
java.io
java.lang
java.util
org.apache.commons.collections.iterators
org.apache.commons.lang3.builder

org.displaytag.render

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 20 43.0% 80.0% 23.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.HssfTableWriter
org.displaytag.render.ItextTableWriter
org.displaytag.render.TableTotaler
org.displaytag.render.TableWriterTemplate$CellStruct
org.displaytag.decorator
org.displaytag.export
org.displaytag.export.excel
org.displaytag.model
org.displaytag.tags
com.itextpdf.text
com.itextpdf.text.pdf
java.lang
java.text
java.util
javax.servlet.jsp
org.apache.commons.lang3
org.apache.commons.lang3.math
org.apache.poi.hssf.usermodel
org.apache.poi.ss.usermodel
org.apache.poi.ss.util
org.displaytag.decorator
org.displaytag.decorator.hssf
org.displaytag.exception
org.displaytag.export
org.displaytag.export.excel
org.displaytag.model
org.displaytag.properties
org.displaytag.util
org.slf4j

org.displaytag.tags

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 25 17.0% 96.0% 13.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.filter
java.beans
java.io
java.lang
java.lang.reflect
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.lang3
org.apache.commons.lang3.builder
org.apache.commons.lang3.math
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.slf4j

org.displaytag.test

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.displaytag.test.KnownNumberedList
org.displaytag.test.KnownTypes
org.displaytag.test.KnownValue
org.displaytag.test.KnownValueWithId
org.displaytag.test.NumberComparator
org.displaytag.test.NumberedItem
org.displaytag.test.ShuffledNumberedList
org.displaytag.pagination
java.lang
java.util
org.apache.commons.beanutils
org.apache.commons.lang3.builder
org.displaytag.model

org.displaytag.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 17 22.0% 68.0% 10.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.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.exception
org.displaytag.export
org.displaytag.model
org.displaytag.pagination
org.displaytag.portlet
org.displaytag.render
org.displaytag.tags
java.io
java.lang
java.lang.reflect
java.net
java.nio.charset
java.util
javax.servlet.http
javax.servlet.jsp
org.apache.commons.beanutils
org.apache.commons.collections
org.apache.commons.lang3
org.apache.commons.lang3.builder
org.displaytag
org.displaytag.exception
org.displaytag.model
org.displaytag.properties
org.slf4j

Cycles

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

Package Package Dependencies
org.displaytag.decorator org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.exception org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.export org.displaytag.model
org.displaytag.util
org.displaytag.model
org.displaytag.export.excel org.displaytag.exception
org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.filter org.displaytag.tags
org.displaytag.exception
org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.model org.displaytag.util
org.displaytag.model
org.displaytag.pagination org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.portlet org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.render org.displaytag.export.excel
org.displaytag.exception
org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.tags org.displaytag.exception
org.displaytag.util
org.displaytag.model
org.displaytag.util
org.displaytag.test org.displaytag.model
org.displaytag.util
org.displaytag.model
org.displaytag.util org.displaytag.model
org.displaytag.util

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.