##### Project Documentation

- About brownies library
- Project Info
- Project Reports
- 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
--- | --- | --- | --- | --- | --- | --- | --- | ---
org.asyrinx.brownie.core.collection | 13 | 2 | 11 | 5 | 6 | 0.15 | 55% | 30%
org.asyrinx.brownie.core.collection.matrix | 8 | 3 | 5 | 0 | 3 | 0.38 | 100% | 38%
org.asyrinx.brownie.core.collection.wrapper | 6 | 0 | 6 | 1 | 3 | 0 | 75% | 25%
org.asyrinx.brownie.core.csv | 10 | 5 | 5 | 0 | 10 | 0.5 | 100% | 50%
org.asyrinx.brownie.core.io | 6 | 1 | 5 | 3 | 4 | 0.17 | 57% | 26%
org.asyrinx.brownie.core.io.sf | 10 | 3 | 7 | 5 | 8 | 0.3 | 62% | 8%
org.asyrinx.brownie.core.lang | 8 | 0 | 8 | 17 | 6 | 0 | 26% | 74%
org.asyrinx.brownie.core.lang.enum | 9 | 0 | 9 | 1 | 5 | 0 | 83% | 17%
org.asyrinx.brownie.core.log | 13 | 2 | 11 | 3 | 5 | 0.15 | 62% | 22%
org.asyrinx.brownie.core.sql | 12 | 1 | 11 | 2 | 10 | 0.08 | 83% | 8%
org.asyrinx.brownie.core.sql2 | 11 | 2 | 9 | 0 | 5 | 0.18 | 100% | 18%
org.asyrinx.brownie.core.user | 5 | 2 | 3 | 0 | 4 | 0.4 | 100% | 40%
org.asyrinx.brownie.core.util | 11 | 1 | 10 | 8 | 5 | 0.09 | 38% | 52%
org.asyrinx.brownie.core.util.jp | 8 | 2 | 6 | 1 | 5 | 0.25 | 83% | 8%
org.asyrinx.brownie.core.xml.digester | 7 | 0 | 7 | 0 | 10 | 0 | 100% | 0%
org.asyrinx.brownie.core.xml.sax | 1 | 0 | 1 | 1 | 3 | 0 | 75% | 25%
org.asyrinx.brownie.hibernate.logger | 7 | 0 | 7 | 0 | 14 | 0 | 100% | 0%
org.asyrinx.brownie.hibernate.wrapper | 8 | 0 | 8 | 1 | 14 | 0 | 93% | 7%
org.asyrinx.brownie.jdbc | 10 | 1 | 9 | 0 | 7 | 0.1 | 100% | 10%
org.asyrinx.brownie.jdbc.logger | 6 | 0 | 6 | 0 | 10 | 0 | 100% | 0%
org.asyrinx.brownie.jdbc.measure | 3 | 0 | 3 | 0 | 8 | 0 | 100% | 0%
org.asyrinx.brownie.jdbc.mockbase | 7 | 0 | 7 | 0 | 7 | 0 | 100% | 0%
org.asyrinx.brownie.jdbc.util | 3 | 1 | 2 | 0 | 6 | 0.33 | 100% | 33%
org.asyrinx.brownie.jdbc.wrapper | 7 | 0 | 7 | 2 | 8 | 0 | 80% | 20%
org.asyrinx.brownie.log.log4j | 4 | 0 | 4 | 1 | 9 | 0 | 90% | 10%
org.asyrinx.brownie.log.log4j.servlet | 5 | 0 | 5 | 0 | 13 | 0 | 100% | 0%
org.asyrinx.brownie.log.log4j.varia | 1 | 0 | 1 | 0 | 2 | 0 | 100% | 0%
org.asyrinx.brownie.net.socket | 5 | 1 | 4 | 0 | 5 | 0.2 | 100% | 20%
org.asyrinx.brownie.seasar.container.factory | 4 | 0 | 4 | 0 | 11 | 0 | 100% | 0%
org.asyrinx.brownie.seasar.servlet | 2 | 0 | 2 | 0 | 10 | 0 | 100% | 0%
org.asyrinx.brownie.servlet | 8 | 0 | 8 | 2 | 11 | 0 | 85% | 15%
org.asyrinx.brownie.swing | 15 | 0 | 15 | 1 | 13 | 0 | 93% | 7%
org.asyrinx.brownie.swing.content | 3 | 1 | 2 | 1 | 4 | 0.33 | 80% | 13%
org.asyrinx.brownie.swing.table | 11 | 2 | 9 | 0 | 8 | 0.18 | 100% | 18%
org.asyrinx.brownie.swing.table.wrapper | 1 | 0 | 1 | 1 | 3 | 0 | 75% | 25%
org.asyrinx.brownie.tapestry.components.form | 2 | 0 | 2 | 0 | 4 | 0 | 100% | 0%
org.asyrinx.brownie.tapestry.components.html | 1 | 1 | 0 | 0 | 8 | 1 | 100% | 100%
org.asyrinx.brownie.tapestry.components.layer | 11 | 9 | 2 | 0 | 11 | 0.82 | 100% | 82%
org.asyrinx.brownie.tapestry.components.link | 11 | 7 | 4 | 0 | 13 | 0.64 | 100% | 64%
org.asyrinx.brownie.tapestry.script | 8 | 3 | 5 | 3 | 6 | 0.38 | 67% | 4%
org.asyrinx.brownie.tapestry.util | 6 | 0 | 6 | 1 | 10 | 0 | 91% | 9%

## Packages

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

### org.asyrinx.brownie.core.collection

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
5 | 6 | 15% | 55% | 30%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
IntegerKeyMap StringKeyMap | CollectionSqueezer CollectionUtils MapTree MapTree$1 MapTreeVisitor MapUtils QueueList WeakReferencedValueMap WeakReferencedValueMap$WeakValue WrappingNumberMap WrappingStringKeyMap | org.asyrinx.brownie.core.collection.matrix org.asyrinx.brownie.core.sql org.asyrinx.brownie.core.util org.asyrinx.brownie.jdbc.logger org.asyrinx.brownie.tapestry.components.link | java.lang java.lang.ref java.util org.apache.commons.collections org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.lang

### org.asyrinx.brownie.core.collection.matrix

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 3 | 38% | 100% | 38%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractMapMatrix ListMatrix MapMatrix | ArrayListMatrix HashMapMatrix MatrixUtils WeakHashMapMatrix WeakReferencedValueMapMatrix | None | java.lang java.util org.asyrinx.brownie.core.collection

### org.asyrinx.brownie.core.collection.wrapper

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | CollectionWrapper IteratorWrapper ListIteratorWrapper ListWrapper MapWrapper SetWrapper | org.asyrinx.brownie.core.collection | java.lang java.util org.asyrinx.brownie.core.util

### org.asyrinx.brownie.core.csv

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 10 | 50% | 100% | 50%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
SVBeanLoader SVBeanMapper SVBeanMapperDispatcher SVParser SVParserListener | PropertySVBeanMapper SVBeanMapperDispatcherMapper SVTokenizer SimpleSVBeanLoader SimpleSVParser | None | java.io java.lang java.lang.reflect java.text java.util org.apache.commons.beanutils org.apache.commons.lang.exception org.asyrinx.brownie.core.io.sf org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.lang.enum

### org.asyrinx.brownie.core.io

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
3 | 4 | 17% | 57% | 26%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
FileWatchdog | FileConstants FileNameUtils PathPointer StreamUtils TextFile | org.asyrinx.brownie.core.io.sf org.asyrinx.brownie.log.log4j.servlet org.asyrinx.brownie.servlet | java.io java.lang java.util org.asyrinx.brownie.core.lang

### org.asyrinx.brownie.core.io.sf

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
5 | 8 | 30% | 62% | 8%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractFileStreamFactory FileStreamFactory StreamFactory | ClassResourceStreamFactory DirectoryBaseFileStreamFactory RelativeClassResourceStreamFactory SimpleFileStreamFactory StreamFactoryFacade StringLoader ZipEntryFileStreamFactory | org.asyrinx.brownie.core.csv org.asyrinx.brownie.jdbc org.asyrinx.brownie.jdbc.util org.asyrinx.brownie.seasar.container.factory org.asyrinx.brownie.seasar.servlet | java.io java.lang java.util java.util.zip org.apache.commons.collections org.apache.commons.logging org.asyrinx.brownie.core.io org.asyrinx.brownie.core.lang

### org.asyrinx.brownie.core.lang

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
17 | 6 | 0% | 26% | 74%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | ArrayUtils ClassUtils InvocationInfo NumberUtils ObjectUtils PropertyUtils StringUtils UnsupportedClassRuntimeException | org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.csv org.asyrinx.brownie.core.io org.asyrinx.brownie.core.io.sf org.asyrinx.brownie.core.lang.enum org.asyrinx.brownie.core.log org.asyrinx.brownie.core.sql org.asyrinx.brownie.core.sql2 org.asyrinx.brownie.core.user org.asyrinx.brownie.core.util.jp org.asyrinx.brownie.core.xml.digester org.asyrinx.brownie.jdbc org.asyrinx.brownie.jdbc.util org.asyrinx.brownie.servlet org.asyrinx.brownie.tapestry.components.layer org.asyrinx.brownie.tapestry.components.link org.asyrinx.brownie.tapestry.util | java.io java.lang java.lang.reflect java.util org.apache.commons.beanutils org.apache.commons.lang

### org.asyrinx.brownie.core.lang.enum

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 5 | 0% | 83% | 17%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | EnumSet EnumSet$1 EnumSet$2 EnumSet$SelectedPredicate EnumSetEntry ValuedEnum ValuedEnumSet ValuedEnumSet$1 ValuedEnumSetEntry | org.asyrinx.brownie.core.csv | java.lang java.util org.apache.commons.collections org.apache.commons.lang.enum org.asyrinx.brownie.core.lang

### org.asyrinx.brownie.core.log

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
3 | 5 | 15% | 62% | 22%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
LogLevel MeasureLog | CascadeNamedLog DispatchLog LogLevel$1 LogLevel$2 LogLevel$3 LogLevel$4 LogLevel$5 LogLevel$6 LogLevel$7 LogWrapper MeasureLogImpl | org.asyrinx.brownie.hibernate.logger org.asyrinx.brownie.jdbc.logger org.asyrinx.brownie.jdbc.measure | java.lang java.util org.apache.commons.logging org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.util

### org.asyrinx.brownie.core.sql

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
IBuilder | BasicSqlBuilder BeanSQL Conditions DynamicSelect DynamicSelectUnion Elements Fields NamedParamSQL Operator SqlReplacer Tables | org.asyrinx.brownie.core.sql2 org.asyrinx.brownie.jdbc.logger | java.lang java.lang.reflect java.sql java.text java.util org.apache.commons.beanutils org.apache.commons.lang org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.util

### org.asyrinx.brownie.core.sql2

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
SqlBuilder Visitor | BasicSqlBuilder Condition Conditions Elements Field Fields Select Table Tables | None | java.lang java.util org.apache.commons.collections org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.sql

### org.asyrinx.brownie.core.user

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
IUser IUserCertifier | GuestUser GuestUserCertifier LoginManager | None | java.lang java.util org.apache.commons.lang.exception org.asyrinx.brownie.core.lang

### org.asyrinx.brownie.core.util

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
8 | 5 | 9% | 38% | 52%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Captionable | DateRange DateUtils Era EraGroup LocaleDateFilter LocaleFilter MathUtils SimpleDate SimpleDateRange Wrapper | org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.log org.asyrinx.brownie.core.sql org.asyrinx.brownie.core.util.jp org.asyrinx.brownie.jdbc.measure org.asyrinx.brownie.jdbc.wrapper org.asyrinx.brownie.servlet org.asyrinx.brownie.swing | java.lang java.util org.apache.commons.collections org.apache.commons.lang org.asyrinx.brownie.core.collection

### org.asyrinx.brownie.core.util.jp

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 5 | 25% | 83% | 8%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
JpEraPattern JpPattern | JpDateFormat JpDateFormat$1 JpDateFormat$2 JpDateFormat$3 JpDateFormat$4 JpEra | org.asyrinx.brownie.swing | java.lang java.text java.util org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.util

### org.asyrinx.brownie.core.xml.digester

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | ConstructorRule PopRule PushPropertyRule SetBodyToPropertyRule SetToMapRule SettingDigester StackSetPropertyRule | None | java.lang java.lang.reflect java.util javax.xml.parsers org.apache.commons.beanutils org.apache.commons.digester org.apache.commons.logging org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.xml.sax org.xml.sax

### org.asyrinx.brownie.core.xml.sax

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | SaxUtils | org.asyrinx.brownie.core.xml.digester | java.lang java.util org.xml.sax

### org.asyrinx.brownie.hibernate.logger

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | LogCriteria LogDatabinder LogQuery LogScrollableResults LogSession LogSessionFactory LogTransaction | None | java.io java.lang java.math java.sql java.util javax.naming javax.xml.transform net.sf.hibernate net.sf.hibernate.expression net.sf.hibernate.metadata net.sf.hibernate.type org.asyrinx.brownie.core.log org.asyrinx.brownie.hibernate.wrapper org.w3c.dom

### org.asyrinx.brownie.hibernate.wrapper

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 14 | 0% | 93% | 7%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | CriteriaWrapper CriterionWrapper DatabinderWrapper QueryWrapper ScrollableResultsWrapper SessionFactoryWrapper SessionWrapper TransactionWrapper | org.asyrinx.brownie.hibernate.logger | java.io java.lang java.math java.sql java.util javax.naming javax.xml.transform net.sf.hibernate net.sf.hibernate.engine net.sf.hibernate.expression net.sf.hibernate.metadata net.sf.hibernate.transform net.sf.hibernate.type org.w3c.dom

### org.asyrinx.brownie.jdbc

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 7 | 10% | 100% | 10%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
JdbcConnectorProperties | LeakCheckConnection LeakCheckConnection$TraceException ResultSetDetailDateFilter ResultSetFilter ResultSetMaxCountFilter ResultSetStringNullTrimFilter ResultSetStringTrimFilter SqlLoadableConnection SqlLoadableStatement | None | java.io java.lang java.sql org.apache.commons.logging org.asyrinx.brownie.core.io.sf org.asyrinx.brownie.core.lang org.asyrinx.brownie.jdbc.wrapper

### org.asyrinx.brownie.jdbc.logger

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | LogCallableStatement LogConnection LogConnectionFilter LogDataSource LogPreparedStatement LogStatement | None | java.io java.lang java.math java.net java.sql java.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.log org.asyrinx.brownie.core.sql org.asyrinx.brownie.jdbc.wrapper

### org.asyrinx.brownie.jdbc.measure

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | CallableStatementMeasure PreparedStatementMeasure StatementMeasure | None | java.io java.lang java.math java.net java.sql java.util org.asyrinx.brownie.core.log org.asyrinx.brownie.core.util

### org.asyrinx.brownie.jdbc.mockbase

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | MockBaseCallableStatement MockBaseConnection MockBaseDataSource MockBasePreparedStatement MockBaseResultSet MockBaseResultSetMetaData MockBaseStatement | None | java.io java.lang java.math java.net java.sql java.util javax.sql

### org.asyrinx.brownie.jdbc.util

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 6 | 33% | 100% | 33%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
JdbcServerService | JdbcDriverType JdbcServerServiceImpl | None | java.io java.lang java.sql java.util org.asyrinx.brownie.core.io.sf org.asyrinx.brownie.core.lang

### org.asyrinx.brownie.jdbc.wrapper

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 8 | 0% | 80% | 20%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | CallableStatementWrapper ConnectionWrapper DataSourceWrapper PreparedStatementWrapper ResultSetMetaDataWrapper ResultSetWrapper StatementWrapper | org.asyrinx.brownie.jdbc org.asyrinx.brownie.jdbc.logger | java.io java.lang java.math java.net java.sql java.util javax.sql org.asyrinx.brownie.core.util

### org.asyrinx.brownie.log.log4j

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | DefaultCategoryFactory LoggerImpl PropertyConfigurator PropertyWatchdog | org.asyrinx.brownie.log.log4j.servlet | java.io java.lang java.net java.util org.apache.log4j org.apache.log4j.config org.apache.log4j.helpers org.apache.log4j.or org.apache.log4j.spi

### org.asyrinx.brownie.log.log4j.servlet

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | Log4jInitFilter ServletDOMConfigurator ServletPropertyConfigurator ServletPropertyWatchdog ServletXmlWatchdog | None | java.io java.lang java.util javax.servlet org.apache.log4j org.apache.log4j.config org.apache.log4j.helpers org.apache.log4j.spi org.apache.log4j.xml org.asyrinx.brownie.core.io org.asyrinx.brownie.log.log4j org.asyrinx.brownie.servlet org.w3c.dom

### org.asyrinx.brownie.log.log4j.varia

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | LoggerNameMatchFilter | None | java.lang org.apache.log4j.spi

### org.asyrinx.brownie.net.socket

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
SocketServerListener | SocketClient SocketServer SocketServer$1 SocketService | None | java.io java.lang java.net java.util org.apache.commons.logging

### org.asyrinx.brownie.seasar.container.factory

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | BrownieIncludeTagHandler BrownieS2ContainerFactory BrownieS2ContainerTagHandlerRule BrownieXmlS2ContainerBuilder | None | java.io java.lang java.util javax.xml.parsers org.asyrinx.brownie.core.io.sf org.seasar.framework.container org.seasar.framework.container.factory org.seasar.framework.exception org.seasar.framework.util org.seasar.framework.xml org.xml.sax

### org.asyrinx.brownie.seasar.servlet

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | S2ContainerLoader S2ContainerLoaderListener | None | java.io java.lang javax.servlet javax.xml.parsers org.asyrinx.brownie.core.io.sf org.asyrinx.brownie.servlet org.seasar.framework.container org.seasar.framework.container.factory org.seasar.framework.util org.seasar.framework.xml

### org.asyrinx.brownie.servlet

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 11 | 0% | 85% | 15%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | FileNameResolver HttpServletRequestNullTrimFilter HttpServletRequestStringTrimFilter HttpServletRequestWrapper ServletContextRuntimeException ServletRequestFilter ServletRequestWrapper ServletUtils | org.asyrinx.brownie.log.log4j.servlet org.asyrinx.brownie.seasar.servlet | java.io java.lang java.security java.util javax.servlet javax.servlet.http net.sf.hibernate.exception org.apache.commons.lang org.asyrinx.brownie.core.io org.asyrinx.brownie.core.lang org.asyrinx.brownie.core.util

### org.asyrinx.brownie.swing

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 13 | 0% | 93% | 7%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | AbsoluteConstraints AbsoluteLayout DateField DateField$1 DateField$2 DatePicker DatePicker$1 DatePicker$2 DatePicker$3 DatePicker$4 DatePicker$5 DatePicker$6 DatePicker$7 GuiRuntimeException SwingUtils | org.asyrinx.brownie.swing.content | java.awt java.awt.event java.io java.lang java.text java.util javax.swing javax.swing.plaf net.sf.hibernate.exception org.apache.commons.lang org.asyrinx.brownie.core.util org.asyrinx.brownie.core.util.jp org.asyrinx.brownie.swing.content

### org.asyrinx.brownie.swing.content

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 4 | 33% | 80% | 13%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
WindowContent | ContentDialog ContentFrame | org.asyrinx.brownie.swing | java.awt java.lang javax.swing org.asyrinx.brownie.swing

### org.asyrinx.brownie.swing.table

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 8 | 18% | 100% | 18%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
InvisibleColumnTableModel SortableTableModel | DefaultListViewTableKit InvisibleColumnTableModelImpl ListViewTable ListViewTable$1 NullInvisibleColumnTableModel SortableTableModelImpl SortableTableModelImpl$SortEntry TableUtils UneditableTableModel | None | java.awt java.awt.event java.lang java.util javax.swing javax.swing.table org.apache.commons.lang org.asyrinx.brownie.swing.table.wrapper

### org.asyrinx.brownie.swing.table.wrapper

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | TableModelWrapper | org.asyrinx.brownie.swing.table | java.lang javax.swing.event javax.swing.table

### org.asyrinx.brownie.tapestry.components.form

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | SimpleEnumPropertySelectionModel SimpleObjectPropertySelectModel | None | java.lang org.apache.commons.beanutils org.apache.commons.lang.enum org.apache.tapestry.form

### org.asyrinx.brownie.tapestry.components.html

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
ExBody | None | None | java.lang java.util org.apache.tapestry org.apache.tapestry.asset org.apache.tapestry.html org.apache.tapestry.resource org.apache.tapestry.util org.asyrinx.brownie.tapestry.script

### org.asyrinx.brownie.tapestry.components.layer

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractDesktopComponent AbstractLayerComponent BaseDesktopComponent Desktop OpenCloseSwitch Popup PopupLink Tips TipsLink | BaseDesktopComponentTemplateLoader BaseDesktopComponentTemplateLoader$LocalizedStringRender | None | java.lang java.util org.apache.commons.lang.builder org.apache.commons.logging org.apache.tapestry org.apache.tapestry.binding org.apache.tapestry.engine org.apache.tapestry.parse org.apache.tapestry.spec org.asyrinx.brownie.core.lang org.asyrinx.brownie.tapestry.script

### org.asyrinx.brownie.tapestry.components.link

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 13 | 64% | 100% | 64%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AbstractLinkRowRenderer AbstractScriptLinkRenderer DirectLinkRow DirectSubWindowListRow DirectWindowOpenLink ISubWindowListRow IWindowOpenOption | LinkRowRenderer SubWindowListRowRenderer SubWindowUtils WindowOpenLinkRenderer | None | java.lang java.util org.apache.commons.beanutils org.apache.commons.lang org.apache.tapestry org.apache.tapestry.components org.apache.tapestry.engine org.apache.tapestry.html org.apache.tapestry.link org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.lang org.asyrinx.brownie.tapestry.script org.asyrinx.brownie.tapestry.util

### org.asyrinx.brownie.tapestry.script

Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
3 | 6 | 38% | 67% | 4%

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
IFinalizableScriptProcessor IScriptUser ScriptUsage | ScriptUsage$1 ScriptUsage$2 ScriptUsage$3 ScriptUtils ScriptWriter | org.asyrinx.brownie.tapestry.components.html org.asyrinx.brownie.tapestry.components.layer org.asyrinx.brownie.tapestry.components.link | java.lang java.util org.apache.tapestry org.apache.tapestry.engine org.apache.tapestry.html org.apache.tapestry.spec

### org.asyrinx.brownie.tapestry.util

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

Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
None | ClassMatch ComponentUtils IdMatch IntOptionValue StringOptionValue ValueTagWriter | org.asyrinx.brownie.tapestry.components.link | java.io java.lang java.util org.apache.commons.collections org.apache.commons.lang org.apache.commons.logging org.apache.tapestry org.apache.tapestry.form org.apache.tapestry.html org.asyrinx.brownie.core.lang

## Cycles

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

Package | Cyclic Dependencies
--- | ---
org.asyrinx.brownie.core.collection | org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection
org.asyrinx.brownie.core.collection.matrix | org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection
org.asyrinx.brownie.core.collection.wrapper | org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper
org.asyrinx.brownie.core.log | org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.core.sql | org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.core.sql2 | org.asyrinx.brownie.core.sql org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.core.util | org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.core.util.jp | org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.hibernate.logger | org.asyrinx.brownie.core.log org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.jdbc | org.asyrinx.brownie.jdbc.wrapper org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.jdbc.logger | org.asyrinx.brownie.core.log org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.jdbc.measure | org.asyrinx.brownie.core.log org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.jdbc.wrapper | org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.log.log4j.servlet | org.asyrinx.brownie.servlet org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.seasar.servlet | org.asyrinx.brownie.servlet org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.servlet | org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.swing | org.asyrinx.brownie.core.util.jp org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.swing.content | org.asyrinx.brownie.swing org.asyrinx.brownie.core.util.jp org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util
org.asyrinx.brownie.tapestry.components.link | org.asyrinx.brownie.core.collection org.asyrinx.brownie.core.collection.wrapper org.asyrinx.brownie.core.util org.asyrinx.brownie.core.collection

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