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 Total
Classes
Abstract
Classes
Concrete
Classes
Afferent
Couplings
Efferent
Couplings
Abstractness Instability Distance
org.apache.commons.jelly 13 8 5 29 8 62% 22% 17%
org.apache.commons.jelly.expression 5 3 2 12 2 60% 14% 26%
org.apache.commons.jelly.expression.jexl 4 0 4 1 4 0% 80% 20%
org.apache.commons.jelly.impl 20 4 16 6 9 20% 60% 20%
org.apache.commons.jelly.parser 1 0 1 3 8 0% 73% 27%
org.apache.commons.jelly.tags 1 0 1 1 0 0% 0% 100%
org.apache.commons.jelly.tags.ant 7 1 6 3 8 14% 73% 13%
org.apache.commons.jelly.tags.antlr 4 0 4 0 2 0% 100% 0%
org.apache.commons.jelly.tags.beanshell 4 0 4 0 5 0% 100% 0%
org.apache.commons.jelly.tags.betwixt 3 0 3 0 7 0% 100% 0%
org.apache.commons.jelly.tags.bsf 7 0 7 0 6 0% 100% 0%
org.apache.commons.jelly.tags.core 16 0 16 4 5 0% 56% 44%
org.apache.commons.jelly.tags.define 12 1 11 1 5 8% 83% 8%
org.apache.commons.jelly.tags.dynabean 5 0 5 0 4 0% 100% 0%
org.apache.commons.jelly.tags.html 2 0 2 0 6 0% 100% 0%
org.apache.commons.jelly.tags.http 7 1 6 0 3 14% 100% 14%
org.apache.commons.jelly.tags.interaction 2 0 2 0 1 0% 100% 0%
org.apache.commons.jelly.tags.jeez 3 0 3 0 7 0% 100% 0%
org.apache.commons.jelly.tags.jms 13 2 11 0 3 15% 100% 15%
org.apache.commons.jelly.tags.jsl 6 0 6 0 8 0% 100% 0%
org.apache.commons.jelly.tags.junit 9 2 7 0 7 22% 100% 22%
org.apache.commons.jelly.tags.log 8 1 7 0 2 12% 100% 12%
org.apache.commons.jelly.tags.ojb 3 0 3 0 3 0% 100% 0%
org.apache.commons.jelly.tags.quartz 7 2 5 0 4 29% 100% 29%
org.apache.commons.jelly.tags.sql 14 1 13 0 4 7% 100% 7%
org.apache.commons.jelly.tags.swing 6 1 5 0 6 17% 100% 17%
org.apache.commons.jelly.tags.swing.converters 2 0 2 1 1 0% 50% 50%
org.apache.commons.jelly.tags.util 2 0 2 0 1 0% 100% 0%
org.apache.commons.jelly.tags.validate 4 0 4 0 6 0% 100% 0%
org.apache.commons.jelly.tags.werkz 13 2 11 1 6 15% 86% 1%
org.apache.commons.jelly.tags.xml 14 3 11 3 8 21% 73% 6%
org.apache.commons.jelly.task 2 0 2 0 5 0% 100% 0%
org.apache.commons.jelly.util 2 0 2 0 6 0% 100% 0%
antlr No stats available: package referenced, but not analyzed.
bsh No stats available: package referenced, but not analyzed.
com.ibm.bsf No stats available: package referenced, but not analyzed.
com.ibm.bsf.util No stats available: package referenced, but not analyzed.
com.sun.javadoc No stats available: package referenced, but not analyzed.
com.sun.msv.verifier.jarv No stats available: package referenced, but not analyzed.
com.werken.werkz No stats available: package referenced, but not analyzed.
junit.framework No stats available: package referenced, but not analyzed.
ojb.broker No stats available: package referenced, but not analyzed.
org.apache.commons.beanutils No stats available: package referenced, but not analyzed.
org.apache.commons.betwixt No stats available: package referenced, but not analyzed.
org.apache.commons.betwixt.io No stats available: package referenced, but not analyzed.
org.apache.commons.betwixt.strategy No stats available: package referenced, but not analyzed.
org.apache.commons.collections No stats available: package referenced, but not analyzed.
org.apache.commons.digester No stats available: package referenced, but not analyzed.
org.apache.commons.discovery No stats available: package referenced, but not analyzed.
org.apache.commons.grant No stats available: package referenced, but not analyzed.
org.apache.commons.httpclient No stats available: package referenced, but not analyzed.
org.apache.commons.httpclient.methods No stats available: package referenced, but not analyzed.
org.apache.commons.jexl No stats available: package referenced, but not analyzed.
org.apache.commons.logging No stats available: package referenced, but not analyzed.
org.apache.commons.messenger No stats available: package referenced, but not analyzed.
org.apache.tools.ant No stats available: package referenced, but not analyzed.
org.apache.tools.ant.types No stats available: package referenced, but not analyzed.
org.apache.xerces.parsers No stats available: package referenced, but not analyzed.
org.cyberneko.html.parsers No stats available: package referenced, but not analyzed.
org.dom4j No stats available: package referenced, but not analyzed.
org.dom4j.io No stats available: package referenced, but not analyzed.
org.dom4j.rule No stats available: package referenced, but not analyzed.
org.iso_relax.verifier No stats available: package referenced, but not analyzed.
org.jaxen No stats available: package referenced, but not analyzed.
org.jaxen.dom4j No stats available: package referenced, but not analyzed.
org.quartz No stats available: package referenced, but not analyzed.
org.quartz.impl No stats available: package referenced, but not analyzed.
org.quartz.utils No stats available: package referenced, but not analyzed.
org.xml.sax No stats available: package referenced, but not analyzed.
org.xml.sax.ext No stats available: package referenced, but not analyzed.
org.xml.sax.helpers No stats available: package referenced, but not analyzed.

Packages

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

org.apache.commons.jelly

Afferent Couplings Efferent Couplings Abstractness Instability Distance
29 8 62% 22% 17%
Abstract Classes Concrete Classes Used by Packages Uses Packages
CompilableTag
DynaBeanTagSupport
DynaTag
MapTagSupport
Script
Tag
TagLibrary
TagSupport
Jelly
JellyContext
JellyException
MissingAttributeException
XMLOutput
org.apache.commons.jelly.expression
org.apache.commons.jelly.expression.jexl
org.apache.commons.jelly.impl
org.apache.commons.jelly.parser
org.apache.commons.jelly.tags.ant
org.apache.commons.jelly.tags.antlr
org.apache.commons.jelly.tags.beanshell
org.apache.commons.jelly.tags.betwixt
org.apache.commons.jelly.tags.bsf
org.apache.commons.jelly.tags.core
org.apache.commons.jelly.tags.define
org.apache.commons.jelly.tags.dynabean
org.apache.commons.jelly.tags.html
org.apache.commons.jelly.tags.http
org.apache.commons.jelly.tags.interaction
org.apache.commons.jelly.tags.jeez
org.apache.commons.jelly.tags.jms
org.apache.commons.jelly.tags.jsl
org.apache.commons.jelly.tags.junit
org.apache.commons.jelly.tags.log
org.apache.commons.jelly.tags.ojb
org.apache.commons.jelly.tags.quartz
org.apache.commons.jelly.tags.sql
org.apache.commons.jelly.tags.swing
org.apache.commons.jelly.tags.util
org.apache.commons.jelly.tags.validate
org.apache.commons.jelly.tags.werkz
org.apache.commons.jelly.tags.xml
org.apache.commons.jelly.task
org.apache.commons.beanutils
org.apache.commons.jelly.expression
org.apache.commons.jelly.impl
org.apache.commons.jelly.parser
org.apache.commons.logging
org.dom4j.io
org.xml.sax
org.xml.sax.ext

org.apache.commons.jelly.expression.jexl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 4 0% 80% 20%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None JellyJexlContext
JellyMap
JexlExpression
JexlExpressionFactory
org.apache.commons.jelly.parser
org.apache.commons.jelly
org.apache.commons.jelly.expression
org.apache.commons.jexl
org.apache.commons.logging

org.apache.commons.jelly.tags

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 0 0% 0% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None Resources
org.apache.commons.jelly.tags.sql
None

org.apache.commons.jelly.tags.antlr

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None AntlrTag
AntlrTagLibrary
GrammarTag
NoExitSecurityManager
None antlr
org.apache.commons.jelly

org.apache.commons.jelly.tags.beanshell

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 5 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None BeanShellExpression
BeanShellExpressionFactory
BeanShellTagLibrary
JellyInterpreter
None bsh
org.apache.commons.jelly
org.apache.commons.jelly.expression
org.apache.commons.jelly.tags.core
org.apache.commons.logging

org.apache.commons.jelly.tags.dynabean

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None DynabeanTag
DynabeanTagLibrary
DynaclassTag
PropertyTag
SetTag
None org.apache.commons.beanutils
org.apache.commons.jelly
org.apache.commons.jelly.expression
org.apache.commons.logging

org.apache.commons.jelly.tags.html

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None HTMLTagLibrary
ParseTag
None org.apache.commons.jelly
org.apache.commons.jelly.tags.xml
org.apache.commons.logging
org.apache.xerces.parsers
org.cyberneko.html.parsers
org.dom4j.io

org.apache.commons.jelly.tags.http

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 14% 100% 14%
Abstract Classes Concrete Classes Used by Packages Uses Packages
MethodSupportTag
DeleteTag
GetTag
HeaderTag
HttpTagLibrary
PostTag
PutTag
None org.apache.commons.httpclient
org.apache.commons.httpclient.methods
org.apache.commons.jelly

org.apache.commons.jelly.tags.interaction

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None AskTag
InteractionTagLibrary
None org.apache.commons.jelly

org.apache.commons.jelly.tags.jeez

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None JeezTagLibrary
TagDefTag
TargetTag
None org.apache.commons.jelly
org.apache.commons.jelly.impl
org.apache.commons.jelly.tags.ant
org.apache.commons.jelly.tags.define
org.apache.commons.jelly.tags.werkz
org.apache.commons.logging
org.xml.sax

org.apache.commons.jelly.tags.log

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 12% 100% 12%
Abstract Classes Concrete Classes Used by Packages Uses Packages
LogTagSupport
DebugTag
ErrorTag
FatalTag
InfoTag
LogTagLibrary
TraceTag
WarnTag
None org.apache.commons.jelly
org.apache.commons.logging

org.apache.commons.jelly.tags.ojb

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None BrokerTag
OjbTagLibrary
StoreTag
None ojb.broker
org.apache.commons.jelly
org.apache.commons.jelly.tags.core

org.apache.commons.jelly.tags.quartz

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 29% 100% 29%
Abstract Classes Concrete Classes Used by Packages Uses Packages
QuartzTagSupport
TriggerTag
CronTriggerTag
JellyJob
JobTag
QuartzTagLibrary
WaitForSchedulerTag
None org.apache.commons.jelly
org.quartz
org.quartz.impl
org.quartz.utils

org.apache.commons.jelly.tags.swing.converters

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 1 0% 50% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None DimensionConverter
PointConverter
org.apache.commons.jelly.tags.swing
org.apache.commons.beanutils

org.apache.commons.jelly.tags.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None TokenizeTag
UtilTagLibrary
None org.apache.commons.jelly

org.apache.commons.jelly.tags.validate

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None AssertValidTag
ValidateTag
ValidateTagLibrary
VerifierTag
None com.sun.msv.verifier.jarv
junit.framework
org.apache.commons.jelly
org.iso_relax.verifier
org.xml.sax
org.xml.sax.helpers

org.apache.commons.jelly.task

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 5 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None AntJellyContext
JellyTask
None org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.tags.ant
org.apache.commons.logging
org.apache.tools.ant

org.apache.commons.jelly.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None TagXMLDoclet
XMLDoclet
None com.sun.javadoc
org.apache.xerces.parsers
org.cyberneko.html.parsers
org.dom4j.io
org.xml.sax
org.xml.sax.helpers

Cycles

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

Package Cyclic Dependencies
org.apache.commons.jelly org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.expression org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly.expression.jexl org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.impl org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.parser org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.tags.ant org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.antlr org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.beanshell org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.betwixt org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.bsf org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.core org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.define org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.dynabean org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.html org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.http org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.interaction org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.jeez org.apache.commons.jelly.tags.werkz
org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.jms org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.jsl org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.junit org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.log org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.ojb org.apache.commons.jelly.tags.core
org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.quartz org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.sql org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.swing org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.util org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.validate org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.werkz org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.tags.xml org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly
org.apache.commons.jelly.task org.apache.commons.jelly
org.apache.commons.jelly.parser
org.apache.commons.jelly.impl
org.apache.commons.jelly.expression
org.apache.commons.jelly

Explanations

[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.