JDepend Analysis

Designed for use with JDepend and Ant.


Summary

[summary] [packages] [cycles] [explanations]
PackageTotal ClassesAbstract ClassesConcrete ClassesAfferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
org.apache.poi.dev10101010
org.apache.poi.hpsf18117030.0610.06
org.apache.poi.hpsf.wellknown20210001
org.apache.poi.hssf.dev50508010
org.apache.poi.hssf.eventmodel523130.40.750.15
org.apache.poi.hssf.model3033600.670.33
org.apache.poi.hssf.record1293126530.020.380.6
org.apache.poi.hssf.record.aggregates3031100.50.5
org.apache.poi.hssf.record.formula26323430.120.430.46
org.apache.poi.hssf.usermodel13112170.080.880.05
org.apache.poi.hssf.util7075100.170.83
org.apache.poi.poifs.common11030100
org.apache.poi.poifs.dev312210.330.330.33
org.apache.poi.poifs.eventfilesystem413030.2510.25
org.apache.poi.poifs.filesystem1569850.40.380.22
org.apache.poi.poifs.property945350.440.620.07
org.apache.poi.poifs.storage19514340.260.570.17
org.apache.poi.util193161020.160.170.68
org.apache.commons.loggingNo stats available: package referenced, but not analyzed.
org.apache.poiNo stats available: package referenced, but not analyzed.
org.apache.poi.hssfNo stats available: package referenced, but not analyzed.
org.apache.poi.hssf.record.MergeCellsRecordNo stats available: package referenced, but not analyzed.
org.apache.poi.util.LittleEndianNo stats available: package referenced, but not analyzed.
org.w3c.domNo stats available: package referenced, but not analyzed.

Packages

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

org.apache.poi.dev

Afferent Couplings: 0Efferent Couplings: 1Abstractness: 0Instability: 1Distance: 0
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneRecordGenerator
Noneorg.w3c.dom

org.apache.poi.hpsf

Afferent Couplings: 0Efferent Couplings: 3Abstractness: 0.06Instability: 1Distance: 0.06
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
SpecialPropertySet

ClassID
DocumentSummaryInformation
HPSFException
HPSFRuntimeException
MarkUnsupportedException
NoPropertySetStreamException
NoSingleSectionException
Property
PropertySet
PropertySetFactory
Section
SummaryInformation
Thumbnail
UnexpectedPropertySetTypeException
Util
Variant
Noneorg.apache.poi.hpsf.wellknown
org.apache.poi.poifs.filesystem
org.apache.poi.util

org.apache.poi.hpsf.wellknown

Afferent Couplings: 1Efferent Couplings: 0Abstractness: 0Instability: 0Distance: 1
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NonePropertyIDMap
SectionIDMap
org.apache.poi.hpsf
None

org.apache.poi.hssf.dev

Afferent Couplings: 0Efferent Couplings: 8Abstractness: 0Instability: 1Distance: 0
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneBiffViewer
EFBiffViewer
EFHSSF
FormulaViewer
HSSF
Noneorg.apache.poi.hssf.eventmodel
org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.util
org.apache.poi.poifs.filesystem
org.apache.poi.util

org.apache.poi.hssf.eventmodel

Afferent Couplings: 1Efferent Couplings: 3Abstractness: 0.4Instability: 0.75Distance: 0.15
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
AbortableHSSFListener
HSSFListener
HSSFEventFactory
HSSFRequest
HSSFUserException
org.apache.poi.hssf.dev
org.apache.poi.hssf.record
org.apache.poi.poifs.filesystem
org.apache.poi.util

org.apache.poi.hssf.model

Afferent Couplings: 3Efferent Couplings: 6Abstractness: 0Instability: 0.67Distance: 0.33
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneFormulaParser
Sheet
Workbook
org.apache.poi.hssf.dev
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.usermodel
org.apache.poi
org.apache.poi.hssf
org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.util
org.apache.poi.util

org.apache.poi.hssf.record

Afferent Couplings: 5Efferent Couplings: 3Abstractness: 0.02Instability: 0.38Distance: 0.6
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
CellValueRecordInterface
Margin
Record
AreaFormatRecord
AreaRecord
AxisLineFormatRecord
AxisOptionsRecord
AxisParentRecord
AxisRecord
AxisUsedRecord
BOFRecord
BackupRecord
BarRecord
BeginRecord
BlankRecord
BookBoolRecord
BoolErrRecord
BottomMarginRecord
BoundSheetRecord
CalcCountRecord
CalcModeRecord
CategorySeriesAxisRecord
ChartFormatRecord
ChartRecord
CodepageRecord
ColumnInfoRecord
ContinueRecord
CountryRecord
DBCellRecord
DSFRecord
DatRecord
DataFormatRecord
DateWindow1904Record
DefaultColWidthRecord
DefaultDataLabelTextPropertiesRecord
DefaultRowHeightRecord
DeltaRecord
DimensionsRecord
EOFRecord
EndRecord
ExtSSTInfoSubRecord
ExtSSTRecord
ExtendedFormatRecord
ExternSheetRecord
ExternSheetSubRecord
FnGroupCountRecord
FontBasisRecord
FontIndexRecord
FontRecord
FooterRecord
FormatRecord
FormulaRecord
FrameRecord
GridsetRecord
GutsRecord
HCenterRecord
HeaderRecord
HideObjRecord
IndexRecord
InterfaceEndRecord
InterfaceHdrRecord
IterationRecord
LabelRecord
LabelSSTRecord
LeftMarginRecord
LegendRecord
LineFormatRecord
LinkedDataRecord
MMSRecord
MergeCellsRecord
MulBlankRecord
MulRKRecord
NameRecord
NumberFormatIndexRecord
NumberRecord
ObjectLinkRecord
PaletteRecord
PasswordRecord
PasswordRev4Record
PlotAreaRecord
PlotGrowthRecord
PrecisionRecord
PrintGridlinesRecord
PrintHeadersRecord
PrintSetupRecord
ProtectRecord
ProtectionRev4Record
RKRecord
RecordFactory
RecordFormatException
RecordProcessor
RefModeRecord
RefreshAllRecord
RightMarginRecord
RowRecord
SCLRecord
SSTDeserializer
SSTRecord
SSTRecordHeader
SSTRecordSizeCalculator
SSTSerializer
SaveRecalcRecord
SelectionRecord
SeriesChartGroupIndexRecord
SeriesIndexRecord
SeriesLabelsRecord
SeriesListRecord
SeriesRecord
SeriesTextRecord
SeriesToChartGroupRecord
SheetPropertiesRecord
StringRecord
StyleRecord
SupBookRecord
TabIdRecord
TextRecord
TickRecord
TopMarginRecord
UnicodeString
UnitsRecord
UnknownRecord
UseSelFSRecord
VCenterRecord
ValueRangeRecord
WSBoolRecord
WindowOneRecord
WindowProtectRecord
WindowTwoRecord
WriteAccessRecord
org.apache.poi.hssf.dev
org.apache.poi.hssf.eventmodel
org.apache.poi.hssf.model
org.apache.poi.hssf.record.aggregates
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.util
org.apache.poi.util

org.apache.poi.hssf.record.aggregates

Afferent Couplings: 1Efferent Couplings: 1Abstractness: 0Instability: 0.5Distance: 0.5
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneFormulaRecordAggregate
RowRecordsAggregate
ValueRecordsAggregate
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.record

org.apache.poi.hssf.record.formula

Afferent Couplings: 4Efferent Couplings: 3Abstractness: 0.12Instability: 0.43Distance: 0.46
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
AbstractFunctionPtg
OperationPtg
Ptg
AddPtg
Area3DPtg
AreaPtg
AttrPtg
ConcatPtg
DividePtg
EqualPtg
ExpPtg
FuncPtg
FuncVarPtg
IntPtg
MemErrPtg
MissingArgPtg
MultiplyPtg
NamePtg
NumberPtg
ParenthesisPtg
PowerPtg
Ref3DPtg
ReferencePtg
StringPtg
SubtractPtg
UnknownPtg
org.apache.poi.hssf.dev
org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.model
org.apache.poi.hssf.util
org.apache.poi.util

org.apache.poi.hssf.usermodel

Afferent Couplings: 1Efferent Couplings: 7Abstractness: 0.08Instability: 0.88Distance: 0.05
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
HSSFErrorConstants
HSSFCell
HSSFCellStyle
HSSFDataFormat
HSSFDateUtil
HSSFFont
HSSFFooter
HSSFHeader
HSSFName
HSSFPrintSetup
HSSFRow
HSSFSheet
HSSFWorkbook
org.apache.poi.hssf.dev
org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.record.aggregates
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.util
org.apache.poi.poifs.filesystem
org.apache.poi.util

org.apache.poi.hssf.util

Afferent Couplings: 5Efferent Couplings: 1Abstractness: 0Instability: 0.17Distance: 0.83
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneAreaReference
CellReference
HSSFColor
RKUtil
RangeAddress
Region
SheetReferences
org.apache.poi.hssf.dev
org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.record.MergeCellsRecord

org.apache.poi.poifs.common

Afferent Couplings: 3Efferent Couplings: 0Abstractness: 1Instability: 0Distance: 0
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
POIFSConstants
Noneorg.apache.poi.poifs.filesystem
org.apache.poi.poifs.property
org.apache.poi.poifs.storage
None

org.apache.poi.poifs.dev

Afferent Couplings: 2Efferent Couplings: 1Abstractness: 0.33Instability: 0.33Distance: 0.33
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
POIFSViewable
POIFSViewEngine
POIFSViewer
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.property
org.apache.poi.poifs.filesystem

org.apache.poi.poifs.eventfilesystem

Afferent Couplings: 0Efferent Couplings: 3Abstractness: 0.25Instability: 1Distance: 0.25
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
POIFSReaderListener
POIFSReader
POIFSReaderEvent
POIFSReaderRegistry
Noneorg.apache.poi.poifs.filesystem
org.apache.poi.poifs.property
org.apache.poi.poifs.storage

org.apache.poi.poifs.filesystem

Afferent Couplings: 8Efferent Couplings: 5Abstractness: 0.4Instability: 0.38Distance: 0.22
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
BATManaged
DirectoryEntry
DocumentEntry
Entry
EntryNode
POIFSWriterListener
DirectoryNode
DocumentDescriptor
DocumentInputStream
DocumentNode
DocumentOutputStream
POIFSDocument
POIFSDocumentPath
POIFSFileSystem
POIFSWriterEvent
org.apache.poi.hpsf
org.apache.poi.hssf.dev
org.apache.poi.hssf.eventmodel
org.apache.poi.hssf.usermodel
org.apache.poi.poifs.dev
org.apache.poi.poifs.eventfilesystem
org.apache.poi.poifs.property
org.apache.poi.poifs.storage
org.apache.poi.poifs.common
org.apache.poi.poifs.dev
org.apache.poi.poifs.property
org.apache.poi.poifs.storage
org.apache.poi.util

org.apache.poi.poifs.property

Afferent Couplings: 3Efferent Couplings: 5Abstractness: 0.44Instability: 0.62Distance: 0.07
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
Child
Parent
Property
PropertyConstants
DirectoryProperty
DocumentProperty
PropertyFactory
PropertyTable
RootProperty
org.apache.poi.poifs.eventfilesystem
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.storage
org.apache.poi.poifs.common
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.storage
org.apache.poi.util

org.apache.poi.poifs.storage

Afferent Couplings: 3Efferent Couplings: 4Abstractness: 0.26Instability: 0.57Distance: 0.17
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
BigBlock
BlockList
BlockWritable
HeaderBlockConstants
ListManagedBlock
BATBlock
BlockAllocationTableReader
BlockAllocationTableWriter
BlockListImpl
DocumentBlock
HeaderBlockReader
HeaderBlockWriter
PropertyBlock
RawDataBlock
RawDataBlockList
SmallBlockTableReader
SmallBlockTableWriter
SmallDocumentBlock
SmallDocumentBlockList
org.apache.poi.poifs.eventfilesystem
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.property
org.apache.poi.poifs.common
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.property
org.apache.poi.util

org.apache.poi.util

Afferent Couplings: 10Efferent Couplings: 2Abstractness: 0.16Instability: 0.17Distance: 0.68
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
FixedField
LittleEndianConsts
POILogger
BinaryTree
BitField
ByteField
CommonsLogger
HexDump
HexRead
IntList
IntegerField
LittleEndian
LongField
NullLogger
POILogFactory
ShortField
ShortList
StringUtil
SystemOutLogger
org.apache.poi.hpsf
org.apache.poi.hssf.dev
org.apache.poi.hssf.eventmodel
org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.usermodel
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.property
org.apache.poi.poifs.storage
org.apache.commons.logging
org.apache.poi.util.LittleEndian

Cycles

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

org.apache.poi.hpsf

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.storage
org.apache.poi.poifs.property
org.apache.poi.poifs.storage

org.apache.poi.hssf.dev

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.storage
org.apache.poi.poifs.property
org.apache.poi.poifs.storage

org.apache.poi.hssf.eventmodel

org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.model
org.apache.poi.hssf.record

org.apache.poi.hssf.model

org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.model

org.apache.poi.hssf.record

org.apache.poi.hssf.record.formula
org.apache.poi.hssf.model
org.apache.poi.hssf.record

org.apache.poi.hssf.record.aggregates

org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.model
org.apache.poi.hssf.record

org.apache.poi.hssf.record.formula

org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula

org.apache.poi.hssf.usermodel

org.apache.poi.hssf.record
org.apache.poi.hssf.record.formula
org.apache.poi.hssf.model
org.apache.poi.hssf.record

org.apache.poi.poifs.dev

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.storage
org.apache.poi.poifs.property
org.apache.poi.poifs.storage

org.apache.poi.poifs.eventfilesystem

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.storage
org.apache.poi.poifs.property
org.apache.poi.poifs.storage

org.apache.poi.poifs.filesystem

org.apache.poi.poifs.storage
org.apache.poi.poifs.property
org.apache.poi.poifs.storage

org.apache.poi.poifs.property

org.apache.poi.poifs.storage
org.apache.poi.poifs.property

org.apache.poi.poifs.storage

org.apache.poi.poifs.property
org.apache.poi.poifs.storage

Explanations

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

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

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.