Infobit Overview Basics Configuration Changes Project Documentation About Infobit Project Info Project Reports Metrics Checkstyle Change Log Developer Activity File Activity Project License JavaDocs JavaDoc Report Source Xref Test Xref Unit Tests Link Check Report Task List JavaDocs Source XReference Test XReference Development Process | ### 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
--- | --- | --- | --- | --- | --- | --- | --- | ---
com.infodesire.infobit | 7 | 2 | 5 | 10 | 10 | 0.29 | 50% | 21%
com.infodesire.infobit.app | 2 | 0 | 2 | 0 | 6 | 0 | 100% | 0%
com.infodesire.infobit.config | 3 | 0 | 3 | 1 | 7 | 0 | 88% | 12%
com.infodesire.infobit.dao | 18 | 3 | 15 | 2 | 12 | 0.17 | 86% | 2%
com.infodesire.infobit.data | 13 | 13 | 0 | 7 | 2 | 1 | 22% | 22%
com.infodesire.infobit.external | 3 | 2 | 1 | 1 | 5 | 0.67 | 83% | 50%
com.infodesire.infobit.external.impl | 38 | 7 | 31 | 0 | 14 | 0.18 | 100% | 18%
com.infodesire.infobit.filter | 1 | 0 | 1 | 0 | 5 | 0 | 100% | 0%
com.infodesire.infobit.hibernate | 3 | 2 | 1 | 2 | 8 | 0.67 | 80% | 47%
com.infodesire.infobit.render | 1 | 1 | 0 | 2 | 4 | 1 | 67% | 67%
com.infodesire.infobit.render.velocity | 8 | 1 | 7 | 2 | 20 | 0.12 | 91% | 3%
com.infodesire.infobit.security | 2 | 1 | 1 | 2 | 3 | 0.5 | 60% | 10%
com.infodesire.infobit.servlet | 3 | 0 | 3 | 0 | 11 | 0 | 100% | 0%
com.infodesire.infobit.util | 1 | 0 | 1 | 1 | 4 | 0 | 80% | 20%
### Packages [ summary ] [ packages ] [ cycles ] [ explanations ] #### com.infodesire.infobit
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
10 | 10 | 29% | 50% | 21%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AclManager InfobitManager | InfobitConfiguration InfobitException InfobitIntegrityException InfobitPool InfobitSecurityException | com.infodesire.infobit.app com.infodesire.infobit.config com.infodesire.infobit.dao com.infodesire.infobit.external com.infodesire.infobit.external.impl com.infodesire.infobit.filter com.infodesire.infobit.hibernate com.infodesire.infobit.render com.infodesire.infobit.render.velocity com.infodesire.infobit.servlet | com.infodesire.infobit.config com.infodesire.infobit.dao com.infodesire.infobit.data com.infodesire.infobit.hibernate com.infodesire.infobit.render com.infodesire.infobit.security java.io java.lang java.util org.apache.commons.logging
#### com.infodesire.infobit.app
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 6 | 0% | 100% | 0%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
| Export Import |  | com.infodesire.infobit com.infodesire.infobit.data com.infodesire.infobit.render.velocity java.io java.lang java.util
#### com.infodesire.infobit.config
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 7 | 0% | 88% | 12%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
| InfobitConfig InfobitConfig$1 InfobitConfig$ConfigHandler | com.infodesire.infobit | com.infodesire.infobit java.lang java.util javax.xml.parsers org.apache.commons.logging org.xml.sax org.xml.sax.helpers
#### com.infodesire.infobit.dao
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 12 | 17% | 86% | 2%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
AttributeSettable ContentImpl LongContentImpl | AclDAO AclImpl BaseDAO BaseEntityImpl BinaryContentImpl CapabilityImpl CapabilityRole ConfigurationBuilder InfobitDAO InfobitImpl ScriptImpl SecurityLink TemplateImpl TextContentImpl VersionImpl | com.infodesire.infobit com.infodesire.infobit.hibernate | com.infodesire.infobit com.infodesire.infobit.data com.infodesire.infobit.hibernate com.infodesire.infobit.security java.io java.lang java.sql java.util net.sf.hibernate net.sf.hibernate.cfg org.apache.commons.lang.builder org.apache.commons.logging
#### com.infodesire.infobit.data
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
7 | 2 | 100% | 22% | 22%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
Acl Attributed BinaryContent Capability Content Indexable Infobit Keyworded PrimitiveContent Script Template TextContent Version |  | com.infodesire.infobit com.infodesire.infobit.app com.infodesire.infobit.dao com.infodesire.infobit.external com.infodesire.infobit.external.impl com.infodesire.infobit.render.velocity com.infodesire.infobit.servlet | java.lang java.util
#### com.infodesire.infobit.external
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 5 | 67% | 83% | 50%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
InfobitExporter InfobitImporter | ImportMessage | com.infodesire.infobit.external.impl | com.infodesire.infobit com.infodesire.infobit.data java.io java.lang java.util
#### com.infodesire.infobit.external.impl
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 14 | 18% | 100% | 18%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
BufferNode ContentNode Decoder ImportDiagnostics InfobitDictionary InfobitParser$ContentHandler InfobitParser$ElementHandler | ActualVersionNode Base64Decoder BinaryContentNode BufferEdge EntityReferenceDecoder ExportRenderHelper ImporterImpl ImporterImpl$1 InfobitNode InfobitParser InfobitParser$1 InfobitParser$BinaryContentHandler InfobitParser$CollMetaInfoHandler InfobitParser$DataHandler InfobitParser$DateHandler InfobitParser$ErrorHandler InfobitParser$InfobitCollectionHandler InfobitParser$InfobitHandler InfobitParser$KeywordHandler InfobitParser$LinkHandler InfobitParser$PCDataBaseHandler InfobitParser$RootDocHandler InfobitParser$ScriptHandler InfobitParser$TemplateHandler InfobitParser$TextContentHandler InfobitParser$VersionHandler ScriptNode SimpleExporter TemplateNode TextContentNode VelocityExporter |  | com.infodesire.infobit com.infodesire.infobit.data com.infodesire.infobit.external java.io java.lang java.net java.util javax.xml.parsers org.apache.commons.logging org.apache.velocity org.apache.velocity.app org.apache.velocity.context org.xml.sax org.xml.sax.helpers
#### com.infodesire.infobit.filter
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 5 | 0% | 100% | 0%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
| InfobitFilter |  | com.infodesire.infobit java.io java.lang javax.servlet org.apache.commons.logging
#### com.infodesire.infobit.hibernate
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 8 | 67% | 80% | 47%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
BaseSessionProvider SessionProvider | ThreadLocalSessionProvider | com.infodesire.infobit com.infodesire.infobit.dao | com.infodesire.infobit com.infodesire.infobit.dao java.lang java.util net.sf.hibernate net.sf.hibernate.cfg net.sf.hibernate.tool.hbm2ddl org.apache.commons.logging
#### com.infodesire.infobit.render
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 4 | 100% | 67% | 67%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
InfobitRenderer |  | com.infodesire.infobit com.infodesire.infobit.render.velocity | com.infodesire.infobit java.io java.lang java.util
#### com.infodesire.infobit.render.velocity
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 20 | 12% | 91% | 3%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
VelocityRenderer | AdvancedClasspathLoader ContentDirective ExportVelocityRenderer InfobitDirective InfobitDirective$WrappedInternalContextAdapter InfobitTemplateLoader ServletVelocityRenderer | com.infodesire.infobit.app com.infodesire.infobit.servlet | com.infodesire.infobit com.infodesire.infobit.data com.infodesire.infobit.render java.io java.lang java.net java.util org.apache.commons.collections org.apache.commons.logging org.apache.velocity org.apache.velocity.app org.apache.velocity.app.event org.apache.velocity.context org.apache.velocity.exception org.apache.velocity.runtime org.apache.velocity.runtime.directive org.apache.velocity.runtime.parser.node org.apache.velocity.runtime.resource org.apache.velocity.runtime.resource.loader org.apache.velocity.util.introspection
#### com.infodesire.infobit.security
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
2 | 3 | 50% | 60% | 10%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
SecurityProvider | DefaultSecurityProvider | com.infodesire.infobit com.infodesire.infobit.dao | java.lang java.util org.apache.commons.logging
#### com.infodesire.infobit.servlet
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
0 | 11 | 0% | 100% | 0%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
| BinaryServlet ClientTool InfobitServlet |  | com.infodesire.infobit com.infodesire.infobit.data com.infodesire.infobit.render.velocity com.infodesire.infobit.util java.io java.lang java.net java.util javax.servlet javax.servlet.http org.apache.commons.logging
#### com.infodesire.infobit.util
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance
--- | --- | --- | --- | ---
1 | 4 | 0% | 80% | 20%
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages
--- | --- | --- | ---
| FormatTool | com.infodesire.infobit.servlet | java.lang java.text java.util org.apache.commons.logging
### Cycles [ summary ] [ packages ] [ cycles ] [ explanations ]
Package | Cyclic Dependencies
--- | ---
com.infodesire.infobit | com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.app | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.config | com.infodesire.infobit com.infodesire.infobit.config
com.infodesire.infobit.dao | com.infodesire.infobit.hibernate com.infodesire.infobit.dao
com.infodesire.infobit.external | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.external.impl | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.filter | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.hibernate | com.infodesire.infobit.dao com.infodesire.infobit.hibernate
com.infodesire.infobit.render | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.render.velocity | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
com.infodesire.infobit.servlet | com.infodesire.infobit com.infodesire.infobit.config com.infodesire.infobit
### 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.