##### Project Documentation

- About groovy
- Project Info
- Project Reports
  - Project License
  - PMD Report
  - Metrics
  - Change Log
  - File Activity
  - Developer Activity
  - Source Xref
  - Test Xref
  - Unit Tests
  - FAQs
- Development Process

## Metric Results

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

The following document contains the results of a JDependmetric analysis. The various metrics are defined at the bottom of this document.

## Summary

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

Package | TC | AC | CC | AC | EC | A | I | D
--- | --- | --- | --- | --- | --- | --- | --- | ---
groovy.lang | 61 | 8 | 53 | 18 | 19 | 0.13 | 51% | 36%
groovy.mock | 4 | 1 | 3 | 0 | 5 | 0.25 | 100% | 25%
groovy.model | 9 | 2 | 7 | 1 | 6 | 0.22 | 86% | 8%
groovy.security | 1 | 0 | 1 | 1 | 2 | 0 | 67% | 33%
groovy.servlet | 5 | 0 | 5 | 0 | 12 | 0 | 100% | 0%
groovy.sql | 5 | 0 | 5 | 0 | 15 | 0 | 100% | 0%
groovy.swing | 24 | 0 | 24 | 0 | 12 | 0 | 100% | 0%
groovy.swing.impl | 8 | 4 | 4 | 1 | 7 | 0.5 | 88% | 38%
groovy.text | 9 | 2 | 7 | 1 | 8 | 0.22 | 89% | 11%
groovy.ui | 24 | 1 | 23 | 1 | 14 | 0.04 | 93% | 2%
groovy.util | 26 | 2 | 24 | 5 | 20 | 0.08 | 80% | 12%
groovy.xml | 8 | 0 | 8 | 2 | 9 | 0 | 82% | 18%
groovy.xml.dom | 1 | 0 | 1 | 0 | 2 | 0 | 100% | 0%
org.codehaus.groovy | 3 | 1 | 2 | 5 | 1 | 0.33 | 17% | 50%
org.codehaus.groovy.ant | 3 | 0 | 3 | 1 | 10 | 0 | 91% | 9%
org.codehaus.groovy.ast | 18 | 3 | 15 | 7 | 13 | 0.17 | 65% | 18%
org.codehaus.groovy.ast.expr | 29 | 2 | 27 | 6 | 10 | 0.07 | 62% | 31%
org.codehaus.groovy.ast.stmt | 18 | 0 | 18 | 6 | 4 | 0 | 40% | 60%
org.codehaus.groovy.bsf | 3 | 0 | 3 | 0 | 9 | 0 | 100% | 0%
org.codehaus.groovy.classgen | 30 | 2 | 28 | 4 | 16 | 0.07 | 80% | 13%
org.codehaus.groovy.control | 20 | 6 | 14 | 11 | 16 | 0.3 | 59% | 11%
org.codehaus.groovy.control.io | 7 | 2 | 5 | 1 | 4 | 0.29 | 80% | 9%
org.codehaus.groovy.control.messages | 6 | 1 | 5 | 2 | 4 | 0.17 | 67% | 17%
org.codehaus.groovy.runtime | 44 | 2 | 42 | 12 | 16 | 0.05 | 57% | 38%
org.codehaus.groovy.sandbox.markup | 59 | 3 | 56 | 1 | 7 | 0.05 | 88% | 7%
org.codehaus.groovy.sandbox.ui | 4 | 2 | 2 | 1 | 3 | 0.5 | 75% | 25%
org.codehaus.groovy.sandbox.util | 14 | 2 | 12 | 0 | 9 | 0.14 | 100% | 14%
org.codehaus.groovy.syntax | 11 | 3 | 8 | 9 | 5 | 0.27 | 36% | 37%
org.codehaus.groovy.syntax.lexer | 20 | 4 | 16 | 1 | 4 | 0.2 | 80% | 0%
org.codehaus.groovy.syntax.parser | 7 | 0 | 7 | 2 | 10 | 0 | 83% | 17%
org.codehaus.groovy.tools | 41 | 1 | 40 | 3 | 10 | 0.02 | 77% | 21%
org.codehaus.groovy.tools.xml | 1 | 0 | 1 | 0 | 5 | 0 | 100% | 0%
org.codehaus.groovy.wiki | 3 | 0 | 3 | 0 | 11 | 0 | 100% | 0%

## Packages

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

### groovy.lang

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
18 | 19 | 13% | 51% | 36%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Closure GString GroovyObject GroovyObjectSupport MetaProperty Range Script Writable | Binding Closure$1 Closure$WritableClosure ClosureException GString$1 GString$2 GroovyClassLoader GroovyClassLoader$1 GroovyClassLoader$2 GroovyClassLoader$3 GroovyClassLoader$ClassCollector GroovyClassLoader$NOT_RESOLVED GroovyClassLoader$PARSING GroovyCodeSource GroovyCodeSource$1 GroovyCodeSource$2 GroovyRuntimeException GroovyShell GroovyShell$1 GroovyShell$1DoSetContext GroovyShell$2 GroovyShell$3 GroovyShell$4 IncorrectClosureArgumentsException IntRange IntRange$1 MetaArrayLengthProperty MetaBeanProperty MetaClass MetaClass$1 MetaClass$2 MetaClass$3 MetaClass$4 MetaClass$5 MetaClassRegistry MetaClassRegistry$1 MetaClassRegistry$2 MetaExpandoProperty MetaFieldProperty MetaMethod MetaMethod$1 MissingClassException MissingMethodException MissingPropertyException NonEmptySequence ObjectRange ObjectRange$1 PropertyValue ReadOnlyPropertyException Reference Sequence StringWriterIOException Tuple | groovy.mock groovy.model groovy.servlet groovy.sql groovy.swing groovy.swing.impl groovy.text groovy.ui groovy.util org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.bsf org.codehaus.groovy.classgen org.codehaus.groovy.runtime org.codehaus.groovy.sandbox.markup org.codehaus.groovy.sandbox.util org.codehaus.groovy.syntax.parser org.codehaus.groovy.tools | groovy.security groovy.ui java.beans java.io java.lang java.lang.reflect java.math java.net java.security java.security.cert java.util java.util.jar java.util.logging org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.classgen org.codehaus.groovy.control org.codehaus.groovy.runtime org.objectweb.asm

### groovy.mock

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 5 | 25% | 100% | 25%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
GroovyMock$I | ClosureConstraintMatcher GroovyMock GroovyMock$1 | None | com.mockobjects com.mockobjects.constraint com.mockobjects.dynamic groovy.lang java.lang

### groovy.model

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 6 | 22% | 86% | 8%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
NestedValueModel ValueModel | ClosureModel DefaultTableColumn DefaultTableModel DefaultTableModel$MyTableColumnModel FormModel PropertyModel ValueHolder | groovy.swing | groovy.lang java.beans java.lang java.util javax.swing.table org.codehaus.groovy.runtime

### groovy.security

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 2 | 0% | 67% | 33%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | GroovyCodeSourcePermission | groovy.lang | java.lang java.security

### groovy.servlet

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 12 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | GroovyServlet GroovyServlet$1 ServletBinding ServletCategory TemplateServlet | None | groovy.lang groovy.text groovy.util groovy.xml java.io java.lang java.net java.util javax.servlet javax.servlet.http javax.servlet.jsp org.codehaus.groovy.runtime

### groovy.sql

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 15 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | DataSet GroovyResultSet Sql Sql$1 SqlWhereVisitor | None | groovy.lang java.io java.lang java.math java.net java.security java.sql java.util java.util.logging java.util.regex javax.sql org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.ast.stmt org.codehaus.groovy.syntax

### groovy.swing

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 12 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | SwingBuilder SwingBuilder$1 SwingBuilder$10 SwingBuilder$11 SwingBuilder$12 SwingBuilder$13 SwingBuilder$14 SwingBuilder$15 SwingBuilder$16 SwingBuilder$17 SwingBuilder$18 SwingBuilder$19 SwingBuilder$2 SwingBuilder$20 SwingBuilder$21 SwingBuilder$22 SwingBuilder$23 SwingBuilder$3 SwingBuilder$4 SwingBuilder$5 SwingBuilder$6 SwingBuilder$7 SwingBuilder$8 SwingBuilder$9 | None | groovy.lang groovy.model groovy.swing.impl groovy.util java.awt java.lang java.text java.util java.util.logging javax.swing javax.swing.table org.codehaus.groovy.runtime

### groovy.swing.impl

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 7 | 50% | 88% | 38%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
ComponentFacade ContainerFacade Factory Startable | DefaultAction TableLayout TableLayoutCell TableLayoutRow | groovy.swing | groovy.lang java.awt java.awt.event java.lang java.util java.util.logging javax.swing

### groovy.text

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 8 | 22% | 89% | 11%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Template TemplateEngine | GStringTemplateEngine GStringTemplateEngine$1 GStringTemplateEngine$2 GStringTemplateEngine$GStringTemplate SimpleTemplateEngine SimpleTemplateEngine$1 SimpleTemplateEngine$SimpleTemplate | groovy.servlet | groovy.lang java.io java.lang java.net java.security java.util org.codehaus.groovy.control org.codehaus.groovy.runtime

### groovy.ui

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 14 | 4% | 93% | 2%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
ConsoleSupport | Console Console$_run_closure1 Console$_run_closure1_closure4 Console$_run_closure1_closure4_closure6 Console$_run_closure1_closure4_closure6_closure10 Console$_run_closure1_closure4_closure6_closure11 Console$_run_closure1_closure4_closure6_closure12 Console$_run_closure1_closure4_closure6_closure9 Console$_run_closure1_closure4_closure7 Console$_run_closure1_closure4_closure7_closure13 Console$_run_closure1_closure4_closure8 Console$_run_closure1_closure4_closure8_closure14 Console$_run_closure1_closure5 Console$_run_closure1_closure5_closure15 Console$_run_closure1_closure5_closure16 Console$_run_closure1_closure5_closure16_closure17 Console$_run_closure2 Console$_run_closure3 GroovyMain GroovySocketServer GroovySocketServer$GroovyClientConnection InteractiveShell ShellCompleter | groovy.lang | groovy.lang java.awt java.io java.lang java.net java.util javax.swing javax.swing.text org.apache.commons.cli org.codehaus.groovy.control org.codehaus.groovy.runtime org.codehaus.groovy.sandbox.ui org.codehaus.groovy.syntax org.codehaus.groovy.tools

### groovy.util

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
5 | 20 | 8% | 80% | 12%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
BuilderSupport ResourceConnector | AntBuilder CharsetToolkit ClosureComparator Expando GroovyLog GroovyMBean GroovyScriptEngine GroovyScriptEngine$1 GroovyScriptEngine$2 GroovyScriptEngine$ScriptCacheEntry GroovyTestCase GroovyTestCase$1 GroovyTestSuite IndentPrinter MapEntry Node NodeBuilder NodePrinter OrderBy Proxy ResourceException ScriptException XmlParser XmlParser$1 | groovy.servlet groovy.swing groovy.xml org.codehaus.groovy.runtime org.codehaus.groovy.tools.xml | groovy.lang groovy.xml java.io java.lang java.lang.reflect java.net java.nio.charset java.security java.util java.util.logging javax.management javax.xml.parsers junit.framework junit.textui org.apache.tools.ant org.apache.tools.ant.types org.codehaus.groovy.ant org.codehaus.groovy.control org.codehaus.groovy.runtime org.xml.sax

### groovy.xml

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 9 | 0% | 82% | 18%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | DOMBuilder DOMBuilder$1 DOMBuilder$2 MarkupBuilder Namespace NamespaceBuilder QName SAXBuilder | groovy.servlet groovy.util | groovy.util java.io java.lang java.security java.util javax.xml.parsers org.w3c.dom org.xml.sax org.xml.sax.helpers

### groovy.xml.dom

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 2 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | DOMCategory | None | java.lang org.w3c.dom

### org.codehaus.groovy

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
5 | 1 | 33% | 17% | 50%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
GroovyExceptionInterface | GroovyBugError GroovyException | org.codehaus.groovy.control org.codehaus.groovy.syntax org.codehaus.groovy.syntax.lexer org.codehaus.groovy.syntax.parser org.codehaus.groovy.tools | java.lang

### org.codehaus.groovy.ant

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 10 | 0% | 91% | 9%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | FileIterator FileScanner Groovyc | groovy.util | java.io java.lang java.nio.charset java.util org.apache.tools.ant org.apache.tools.ant.taskdefs org.apache.tools.ant.types org.apache.tools.ant.util org.codehaus.groovy.control org.codehaus.groovy.tools

### org.codehaus.groovy.ast

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
7 | 13 | 17% | 65% | 18%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
CodeVisitorSupport GroovyClassVisitor GroovyCodeVisitor | ASTNode ClassNode CompileUnit ConstructorNode FieldNode ImportNode InnerClassNode MetadataNode MethodNode MixinNode ModuleNode Parameter PropertyNode Type VariableScope | groovy.lang groovy.sql org.codehaus.groovy.ast.expr org.codehaus.groovy.ast.stmt org.codehaus.groovy.classgen org.codehaus.groovy.control org.codehaus.groovy.syntax.parser | groovy.lang java.io java.lang java.lang.reflect java.security java.util java.util.logging org.codehaus.groovy.ast.expr org.codehaus.groovy.ast.stmt org.codehaus.groovy.classgen org.codehaus.groovy.control org.codehaus.groovy.syntax org.objectweb.asm

### org.codehaus.groovy.ast.expr

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
6 | 10 | 7% | 62% | 31%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Expression ExpressionTransformer | ArgumentListExpression ArrayExpression BinaryExpression BooleanExpression CastExpression ClassExpression ClosureExpression ConstantExpression ConstructorCallExpression FieldExpression GStringExpression ListExpression MapEntryExpression MapExpression MethodCallExpression NamedArgumentListExpression NegationExpression NotExpression PostfixExpression PrefixExpression PropertyExpression RangeExpression RegexExpression StaticMethodCallExpression TernaryExpression TupleExpression VariableExpression | groovy.lang groovy.sql org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.classgen org.codehaus.groovy.syntax.parser | groovy.lang java.io java.lang java.lang.reflect java.util org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.classgen org.codehaus.groovy.runtime org.codehaus.groovy.syntax

### org.codehaus.groovy.ast.stmt

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
6 | 4 | 0% | 40% | 60%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | AssertStatement BlockStatement BreakStatement CaseStatement CatchStatement ContinueStatement DoWhileStatement EmptyStatement ExpressionStatement ForStatement IfStatement ReturnStatement Statement SwitchStatement SynchronizedStatement ThrowStatement TryCatchStatement WhileStatement | groovy.sql org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.classgen org.codehaus.groovy.control org.codehaus.groovy.syntax.parser | java.lang java.util org.codehaus.groovy.ast org.codehaus.groovy.ast.expr

### org.codehaus.groovy.bsf

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 9 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | CachingGroovyEngine CachingGroovyEngine$1 GroovyEngine | None | groovy.lang java.io java.lang java.security java.util org.apache.bsf org.apache.bsf.util org.codehaus.groovy.control org.codehaus.groovy.runtime

### org.codehaus.groovy.classgen

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
4 | 16 | 7% | 80% | 13%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
BytecodeExpression ClassGenerator | AsmClassGenerator AsmClassGenerator$1 AsmClassGenerator$2 AsmClassGenerator$3 AsmClassGenerator$4 AsmClassGenerator$5 AsmClassGenerator2 AsmClassGenerator2$1 AsmClassGenerator2$2 AsmClassGenerator2$3 AsmClassGenerator2$4 AsmClassGenerator2$5 AsmClassGenerator2$6 AsmClassGenerator2$7 AsmClassGenerator2$8 BlockScope BytecodeHelper ClassCompletionVerifier ClassGeneratorException DummyClassGenerator GeneratorContext MethodCaller ReflectorGenerator RuntimeIncompleteClassException Variable VariableScopeCodeVisitor Verifier VerifierCodeVisitor | groovy.lang org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.control | groovy.lang java.io java.lang java.lang.reflect java.math java.security java.util java.util.logging java.util.regex org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.ast.stmt org.codehaus.groovy.runtime org.codehaus.groovy.syntax org.codehaus.groovy.syntax.parser org.objectweb.asm

### org.codehaus.groovy.control

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
11 | 16 | 30% | 59% | 11%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
CompilationUnit$ClassgenCallback CompilationUnit$LoopBodyForPrimaryClassNodeOperations CompilationUnit$LoopBodyForSourceUnitOperations CompilationUnit$ProgressCallback HasCleanup ProcessingUnit | CompilationFailedException CompilationUnit CompilationUnit$1 CompilationUnit$2 CompilationUnit$3 CompilationUnit$4 CompilationUnit$5 CompilationUnit$6 CompilerClassLoader CompilerConfiguration ConfigurationException Janitor Phases SourceUnit | groovy.lang groovy.text groovy.ui groovy.util org.codehaus.groovy.ant org.codehaus.groovy.ast org.codehaus.groovy.bsf org.codehaus.groovy.control.io org.codehaus.groovy.control.messages org.codehaus.groovy.syntax.parser org.codehaus.groovy.tools | java.io java.lang java.net java.security java.util org.codehaus.groovy org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.classgen org.codehaus.groovy.control.io org.codehaus.groovy.control.messages org.codehaus.groovy.syntax org.codehaus.groovy.syntax.lexer org.codehaus.groovy.syntax.parser org.codehaus.groovy.tools org.objectweb.asm

### org.codehaus.groovy.control.io

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 4 | 29% | 80% | 9%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractReaderSource ReaderSource | FileReaderSource InputStreamReaderSource NullWriter StringReaderSource URLReaderSource | org.codehaus.groovy.control | java.io java.lang java.net org.codehaus.groovy.control

### org.codehaus.groovy.control.messages

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 4 | 17% | 67% | 17%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Message | ExceptionMessage LocatedMessage SimpleMessage SyntaxErrorMessage WarningMessage | org.codehaus.groovy.control org.codehaus.groovy.syntax.parser | java.io java.lang org.codehaus.groovy.control org.codehaus.groovy.syntax

### org.codehaus.groovy.runtime

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
12 | 16 | 5% | 57% | 38%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
MethodKey NumberMath | BigDecimalMath BigIntegerMath ClassExtender ClosureListener DefaultGroovyMethods DefaultGroovyMethods$1 DefaultGroovyMethods$2 DefaultGroovyMethods$3 DefaultGroovyMethods$4 DefaultGroovyMethods$ProcessRunner DefaultGroovyStaticMethods DefaultMethodKey FloatingPointMath FlushingStreamWriter GroovyCategorySupport GroovyCategorySupport$1 GroovyCategorySupport$2 IntegerMath Invoker Invoker$1 Invoker$2 Invoker$3 Invoker$4 InvokerHelper InvokerHelper$1 InvokerInvocationException IteratorClosureAdapter LongMath MethodClosure MethodHelper NewInstanceMetaMethod NewStaticMetaMethod ReflectionMetaMethod ReflectionMetaMethod$1 Reflector RegexSupport ScriptReference ScriptTestAdapter StringBufferWriter TemporaryMethodKey TransformMetaMethod WritableFile | groovy.lang groovy.model groovy.servlet groovy.swing groovy.text groovy.ui groovy.util org.codehaus.groovy.ast.expr org.codehaus.groovy.bsf org.codehaus.groovy.classgen org.codehaus.groovy.sandbox.markup org.codehaus.groovy.tools | groovy.lang groovy.util java.beans java.io java.lang java.lang.reflect java.math java.net java.nio.charset java.security java.util java.util.logging java.util.regex junit.framework org.apache.xml.serialize org.w3c.dom

### org.codehaus.groovy.sandbox.markup

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 7 | 5% | 88% | 7%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Buildable Builder Builder$Built | AbstractStreamingBuilder AbstractStreamingBuilder$4 AbstractStreamingBuilder$7 AbstractStreamingBuilder$_closure1 AbstractStreamingBuilder$_closure2 AbstractStreamingBuilder$_closure2_closure5 AbstractStreamingBuilder$_closure3 AbstractStreamingBuilder$_closure3_closure6 BaseMarkupBuilder BaseMarkupBuilder$Document StreamingDOMBuilder StreamingDOMBuilder$11 StreamingDOMBuilder$12 StreamingDOMBuilder$13 StreamingDOMBuilder$7 StreamingDOMBuilder$_bind_closure4 StreamingDOMBuilder$_closure1 StreamingDOMBuilder$_closure2 StreamingDOMBuilder$_closure3 StreamingDOMBuilder$_closure3_closure10 StreamingDOMBuilder$_closure3_closure5 StreamingDOMBuilder$_closure3_closure6 StreamingDOMBuilder$_closure3_closure8 StreamingDOMBuilder$_closure3_closure9 StreamingMarkupBuilder StreamingMarkupBuilder$10 StreamingMarkupBuilder$12 StreamingMarkupBuilder$13 StreamingMarkupBuilder$14 StreamingMarkupBuilder$15 StreamingMarkupBuilder$16 StreamingMarkupBuilder$6 StreamingMarkupBuilder$7 StreamingMarkupBuilder$_bind_closure5 StreamingMarkupBuilder$_closure1 StreamingMarkupBuilder$_closure2 StreamingMarkupBuilder$_closure3 StreamingMarkupBuilder$_closure4 StreamingMarkupBuilder$_closure4_closure11 StreamingMarkupBuilder$_closure4_closure8 StreamingMarkupBuilder$_closure4_closure9 StreamingMarkupWriter StreamingMarkupWriter$1 StreamingMarkupWriter$2 StreamingSAXBuilder StreamingSAXBuilder$10 StreamingSAXBuilder$11 StreamingSAXBuilder$7 StreamingSAXBuilder$9 StreamingSAXBuilder$_bind_closure4 StreamingSAXBuilder$_closure1 StreamingSAXBuilder$_closure2 StreamingSAXBuilder$_closure3 StreamingSAXBuilder$_closure3_closure5 StreamingSAXBuilder$_closure3_closure6 StreamingSAXBuilder$_closure3_closure8 | org.codehaus.groovy.sandbox.util | groovy.lang java.io java.lang java.util org.codehaus.groovy.runtime org.w3c.dom org.xml.sax.ext

### org.codehaus.groovy.sandbox.ui

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 3 | 50% | 75% | 25%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Completer Prompt | JavaPrompt PromptFactory | groovy.ui | java.io java.lang java.util

### org.codehaus.groovy.sandbox.util

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 9 | 14% | 100% | 14%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
ElementCollection ElementIterator | ComplexElementCollection ComplexElementCollection$1 XmlList XmlList$1 XmlList$2 XmlList$3 XmlList$4 XmlList$5 XmlList$6 XmlList$7 XmlSlurper XmlSlurper$1 | None | groovy.lang java.io java.lang java.security java.util javax.xml.parsers org.codehaus.groovy.sandbox.markup org.xml.sax org.xml.sax.helpers

### org.codehaus.groovy.syntax

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
9 | 5 | 27% | 36% | 37%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractTokenStream CSTNode TokenStream | Numbers ReadException Reduction SyntaxException Token TokenException TokenMismatchException Types | groovy.sql groovy.ui org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.classgen org.codehaus.groovy.control org.codehaus.groovy.control.messages org.codehaus.groovy.syntax.lexer org.codehaus.groovy.syntax.parser | java.io java.lang java.math java.util org.codehaus.groovy

### org.codehaus.groovy.syntax.lexer

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 4 | 20% | 80% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractCharStream CharStream Delimiter Lexer | FileCharStream GStringLexer GroovyExpressionLexer GroovyLexer GroovyLexerBase HereDocLexer InputStreamCharStream LexerBase LexerException LexerTokenStream ReaderCharStream StringCharStream StringLexer TextLexerBase UnexpectedCharacterException UnterminatedStringLiteralException | org.codehaus.groovy.control | java.io java.lang org.codehaus.groovy org.codehaus.groovy.syntax

### org.codehaus.groovy.syntax.parser

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 10 | 0% | 83% | 17%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | ASTBuilder ExpressionStack ExpressionSupport Parser ParserException RuntimeParserException UnexpectedTokenException | org.codehaus.groovy.classgen org.codehaus.groovy.control | groovy.lang java.lang java.util org.codehaus.groovy org.codehaus.groovy.ast org.codehaus.groovy.ast.expr org.codehaus.groovy.ast.stmt org.codehaus.groovy.control org.codehaus.groovy.control.messages org.codehaus.groovy.syntax

### org.codehaus.groovy.tools

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
3 | 10 | 2% | 77% | 21%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Utilities | Compiler DocGenerator DocGenerator$1 DocGenerator$16 DocGenerator$18 DocGenerator$21 DocGenerator$24 DocGenerator$25 DocGenerator$27 DocGenerator$30 DocGenerator$31 DocGenerator$34 DocGenerator$8 DocGenerator$_generate_closure2 DocGenerator$_generate_closure2_closure9 DocGenerator$_generate_closure3 DocGenerator$_generate_closure3_closure10 DocGenerator$_generate_closure3_closure10_closure11 DocGenerator$_generate_closure3_closure10_closure12 DocGenerator$_generate_closure3_closure10_closure12_closure13 DocGenerator$_generate_closure3_closure10_closure12_closure13_closure14 DocGenerator$_generate_closure3_closure10_closure12_closure13_closure15 DocGenerator$_generate_closure3_closure10_closure12_closure13_closure15_closure17 DocGenerator$_generate_closure4 DocGenerator$_generate_closure4_closure19 DocGenerator$_generate_closure4_closure19_closure20 DocGenerator$_generate_closure4_closure19_closure22 DocGenerator$_generate_closure4_closure19_closure23 DocGenerator$_generate_closure4_closure19_closure23_closure26 DocGenerator$_generate_closure4_closure19_closure23_closure26_closure28 DocGenerator$_generate_closure4_closure19_closure23_closure26_closure29 DocGenerator$_generate_closure5 DocGenerator$_generate_closure5_closure32 DocGenerator$_generate_closure6 DocGenerator$_generate_closure6_closure33 DocGenerator$_getParametersDecl_closure7 ErrorReporter FileSystemCompiler Grok GroovyClass | groovy.ui org.codehaus.groovy.ant org.codehaus.groovy.control | com.thoughtworks.qdox com.thoughtworks.qdox.model groovy.lang java.io java.lang java.util org.apache.commons.cli org.codehaus.groovy org.codehaus.groovy.control org.codehaus.groovy.runtime

### org.codehaus.groovy.tools.xml

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 5 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | DomToGroovy | None | groovy.util java.io java.lang java.util org.w3c.dom

### org.codehaus.groovy.wiki

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 11 | 0% | 100% | 0%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | TestCaseRenderEngine Wiki2Markup Wiki2TestCase | None | java.io java.lang java.util.regex org.apache.tools.ant org.apache.tools.ant.taskdefs org.apache.tools.ant.types org.apache.tools.ant.util org.radeox.api.engine org.radeox.api.engine.context org.radeox.engine org.radeox.engine.context

## Cycles

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

Package | Cyclic Dependencies
--- | ---
groovy.lang | org.codehaus.groovy.runtime groovy.lang
groovy.mock | groovy.lang org.codehaus.groovy.runtime groovy.lang
groovy.model | groovy.lang org.codehaus.groovy.runtime groovy.lang
groovy.servlet | groovy.util org.codehaus.groovy.runtime groovy.lang org.codehaus.groovy.runtime
groovy.sql | org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt
groovy.swing | groovy.swing.impl groovy.lang org.codehaus.groovy.runtime groovy.lang
groovy.swing.impl | groovy.lang org.codehaus.groovy.runtime groovy.lang
groovy.text | groovy.lang org.codehaus.groovy.runtime groovy.lang
groovy.ui | org.codehaus.groovy.runtime groovy.lang org.codehaus.groovy.runtime
groovy.util | org.codehaus.groovy.runtime groovy.lang org.codehaus.groovy.runtime
groovy.xml | groovy.util org.codehaus.groovy.runtime groovy.lang org.codehaus.groovy.runtime
org.codehaus.groovy.ant | org.codehaus.groovy.control org.codehaus.groovy.classgen org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.ast | org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.ast.expr | org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.ast.stmt | org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt
org.codehaus.groovy.bsf | org.codehaus.groovy.control org.codehaus.groovy.classgen org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.classgen | org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.control | org.codehaus.groovy.classgen org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.control.io | org.codehaus.groovy.control org.codehaus.groovy.classgen org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.control.messages | org.codehaus.groovy.control org.codehaus.groovy.classgen org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.runtime | groovy.lang org.codehaus.groovy.runtime
org.codehaus.groovy.sandbox.markup | org.codehaus.groovy.runtime groovy.lang org.codehaus.groovy.runtime
org.codehaus.groovy.sandbox.util | groovy.lang org.codehaus.groovy.runtime groovy.lang
org.codehaus.groovy.syntax.parser | org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt
org.codehaus.groovy.tools | org.codehaus.groovy.control org.codehaus.groovy.classgen org.codehaus.groovy.ast org.codehaus.groovy.ast.stmt org.codehaus.groovy.ast
org.codehaus.groovy.tools.xml | groovy.util org.codehaus.groovy.runtime groovy.lang org.codehaus.groovy.runtime

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