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.hpsf16115030.0610.06
org.apache.poi.hpsf.littleendian514100.200.8
org.apache.poi.hpsf.wellknown20210001
org.apache.poi.hssf.dev50508010
org.apache.poi.hssf.eventmodel523130.40.750.15
org.apache.poi.hssf.model2022500.710.29
org.apache.poi.hssf.record1092107530.020.380.61
org.apache.poi.hssf.record.aggregates20201010
org.apache.poi.hssf.record.formula23221420.090.330.58
org.apache.poi.hssf.usermodel13112160.080.860.07
org.apache.poi.hssf.util7074100.20.8
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.util15213920.130.180.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
DocumentSummaryInformation
HPSFException
HPSFRuntimeException
MarkUnsupportedException
NoPropertySetStreamException
NoSingleSectionException
Property
PropertySet
PropertySetFactory
Section
SummaryInformation
Thumbnail
UnexpectedPropertySetTypeException
Util
Variant
Noneorg.apache.poi.hpsf.littleendian
org.apache.poi.hpsf.wellknown
org.apache.poi.poifs.filesystem

org.apache.poi.hpsf.littleendian

Afferent Couplings: 1Efferent Couplings: 0Abstractness: 0.2Instability: 0Distance: 0.8
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
LittleEndian
Byte
ClassID
DWord
Word
org.apache.poi.hpsf
None

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: 2Efferent Couplings: 5Abstractness: 0Instability: 0.71Distance: 0.29
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneSheet
Workbook
org.apache.poi.hssf.dev
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.util

org.apache.poi.hssf.record

Afferent Couplings: 5Efferent Couplings: 3Abstractness: 0.02Instability: 0.38Distance: 0.61
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
CellValueRecordInterface
Record
AreaFormatRecord
AreaRecord
AxisLineFormatRecord
AxisParentRecord
AxisRecord
AxisUsedRecord
BOFRecord
BackupRecord
BarRecord
BeginRecord
BlankRecord
BookBoolRecord
BoolErrRecord
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
LegendRecord
LineFormatRecord
LinkedDataRecord
MMSRecord
MergeCellsRecord
MulBlankRecord
MulRKRecord
NameRecord
NumberFormatIndexRecord
NumberRecord
PasswordRecord
PasswordRev4Record
PlotGrowthRecord
PrecisionRecord
PrintGridlinesRecord
PrintHeadersRecord
PrintSetupRecord
ProtectRecord
ProtectionRev4Record
RKRecord
RecordFactory
RecordFormatException
RefModeRecord
RefreshAllRecord
RowRecord
SSTRecord
SaveRecalcRecord
SelectionRecord
SeriesChartGroupIndexRecord
SeriesLabelsRecord
SeriesListRecord
SeriesRecord
SheetPropertiesRecord
StyleRecord
SupBookRecord
TabIdRecord
TextRecord
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: 0Efferent Couplings: 1Abstractness: 0Instability: 1Distance: 0
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneRowRecordsAggregate
ValueRecordsAggregate
Noneorg.apache.poi.hssf.record

org.apache.poi.hssf.record.formula

Afferent Couplings: 4Efferent Couplings: 2Abstractness: 0.09Instability: 0.33Distance: 0.58
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
OperationPtg
Ptg
AddPtg
Area3DPtg
AreaPtg
AttrPtg
ConcatPtg
DividePtg
ExpPtg
FormulaParser
FunctionPtg
IntPtg
MemErrPtg
MultiplyPtg
NamePtg
NumberPtg
ParenthesisPtg
PowerPtg
Ref3DPtg
ReferencePtg
SubtractPtg
UnknownPtg
ValueVariableFunctionPtg
org.apache.poi.hssf.dev
org.apache.poi.hssf.model
org.apache.poi.hssf.record
org.apache.poi.hssf.usermodel
org.apache.poi.hssf.util
org.apache.poi.util

org.apache.poi.hssf.usermodel

Afferent Couplings: 1Efferent Couplings: 6Abstractness: 0.08Instability: 0.86Distance: 0.07
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.formula
org.apache.poi.hssf.util
org.apache.poi.poifs.filesystem
org.apache.poi.util

org.apache.poi.hssf.util

Afferent Couplings: 4Efferent Couplings: 1Abstractness: 0Instability: 0.2Distance: 0.8
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
NoneAreaReference
CellReference
HSSFColor
RKUtil
RangeAddress
ReferenceUtil
Region
org.apache.poi.hssf.dev
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: 9Efferent Couplings: 2Abstractness: 0.13Instability: 0.18Distance: 0.68
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
FixedField
LittleEndianConsts
BinaryTree
BitField
ByteField
HexDump
IntList
IntegerField
LittleEndian
LongField
POILogFactory
POILogger
ShortField
ShortList
StringUtil
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.dev
org.apache.poi.poifs.filesystem

org.apache.poi.hssf.dev

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

org.apache.poi.hssf.eventmodel

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

org.apache.poi.hssf.usermodel

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

org.apache.poi.poifs.dev

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev

org.apache.poi.poifs.eventfilesystem

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

org.apache.poi.poifs.filesystem

org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

org.apache.poi.poifs.property

org.apache.poi.poifs.storage
org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

org.apache.poi.poifs.storage

org.apache.poi.poifs.filesystem
org.apache.poi.poifs.dev
org.apache.poi.poifs.filesystem

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.