Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
oshi | 3 | 3 | 0 | 0 | 7 | 0.0% | 100.0% | 0.0% | 1 |
oshi.hardware | 4 | 0 | 4 | 7 | 2 | 100.0% | 22.0% | 22.0% | 1 |
oshi.software.os | 4 | 1 | 3 | 8 | 1 | 75.0% | 11.0% | 14.0% | 1 |
oshi.software.os.linux | 4 | 3 | 1 | 2 | 8 | 25.0% | 80.0% | 5.0% | 1 |
oshi.software.os.linux.proc | 5 | 5 | 0 | 1 | 12 | 0.0% | 92.0% | 8.0% | 1 |
oshi.software.os.mac | 2 | 2 | 0 | 1 | 7 | 0.0% | 88.0% | 12.0% | 1 |
oshi.software.os.mac.local | 16 | 13 | 3 | 1 | 13 | 19.0% | 93.0% | 12.0% | 1 |
oshi.software.os.windows | 2 | 2 | 0 | 1 | 6 | 0.0% | 86.0% | 14.0% | 1 |
oshi.software.os.windows.nt | 13 | 10 | 3 | 1 | 13 | 23.0% | 93.0% | 16.0% | 1 |
oshi.util | 5 | 3 | 2 | 4 | 7 | 40.0% | 64.0% | 4.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | oshi.PlatformEnum oshi.SystemInfo oshi.SystemInfo$1 |
None | com.sun.jna java.lang oshi.hardware oshi.software.os oshi.software.os.linux oshi.software.os.mac oshi.software.os.windows |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 2 | 100.0% | 22.0% | 22.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
oshi.hardware.HardwareAbstractionLayer oshi.hardware.Memory oshi.hardware.PowerSource oshi.hardware.Processor |
None | oshi oshi.software.os.linux oshi.software.os.linux.proc oshi.software.os.mac oshi.software.os.mac.local oshi.software.os.windows oshi.software.os.windows.nt |
java.lang oshi.software.os |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
8 | 1 | 75.0% | 11.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
oshi.software.os.OperatingSystem oshi.software.os.OperatingSystemVersion oshi.software.os.Process |
oshi.software.os.OSFileStore |
oshi oshi.hardware oshi.software.os.linux oshi.software.os.linux.proc oshi.software.os.mac oshi.software.os.mac.local oshi.software.os.windows oshi.software.os.windows.nt |
java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 8 | 25.0% | 80.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
oshi.software.os.linux.Libc |
oshi.software.os.linux.Libc$Sysinfo oshi.software.os.linux.LinuxHardwareAbstractionLayer oshi.software.os.linux.LinuxOperatingSystem |
oshi oshi.software.os.linux.proc |
com.sun.jna java.io java.lang java.util oshi.hardware oshi.software.os oshi.software.os.linux.proc oshi.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | oshi.software.os.linux.proc.CentralProcessor oshi.software.os.linux.proc.GlobalMemory oshi.software.os.linux.proc.LinuxFileSystem oshi.software.os.linux.proc.LinuxPowerSource oshi.software.os.linux.proc.OSVersionInfoEx |
oshi.software.os.linux |
com.sun.jna com.sun.management java.io java.lang java.lang.management java.nio.file java.util java.util.regex oshi.hardware oshi.software.os oshi.software.os.linux oshi.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 0.0% | 88.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | oshi.software.os.mac.MacHardwareAbstractionLayer oshi.software.os.mac.MacOperatingSystem |
oshi |
com.sun.jna com.sun.jna.ptr java.lang java.util oshi.hardware oshi.software.os oshi.software.os.mac.local |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 13 | 19.0% | 93.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
oshi.software.os.mac.local.CoreFoundation oshi.software.os.mac.local.IOKit oshi.software.os.mac.local.SystemB |
oshi.software.os.mac.local.CentralProcessor oshi.software.os.mac.local.CoreFoundation$CFArrayRef oshi.software.os.mac.local.CoreFoundation$CFDictionaryRef oshi.software.os.mac.local.CoreFoundation$CFStringRef oshi.software.os.mac.local.CoreFoundation$CFTypeRef oshi.software.os.mac.local.GlobalMemory oshi.software.os.mac.local.MacFileSystem oshi.software.os.mac.local.MacPowerSource oshi.software.os.mac.local.OSVersionInfoEx oshi.software.os.mac.local.SystemB$HostCpuLoadInfo oshi.software.os.mac.local.SystemB$HostLoadInfo oshi.software.os.mac.local.SystemB$VMStatistics oshi.software.os.mac.local.SystemB$VMStatistics64 |
oshi.software.os.mac |
com.sun.jna com.sun.jna.ptr com.sun.management java.io java.lang java.lang.management java.nio.file java.util java.util.regex javax.swing.filechooser oshi.hardware oshi.software.os oshi.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 6 | 0.0% | 86.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | oshi.software.os.windows.WindowsHardwareAbstractionLayer oshi.software.os.windows.WindowsOperatingSystem |
oshi |
com.sun.jna.platform.win32 java.lang java.util oshi.hardware oshi.software.os oshi.software.os.windows.nt |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 13 | 23.0% | 93.0% | 16.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
oshi.software.os.windows.nt.Kernel32 oshi.software.os.windows.nt.Pdh oshi.software.os.windows.nt.PowrProf |
oshi.software.os.windows.nt.CentralProcessor oshi.software.os.windows.nt.CentralProcessor$1 oshi.software.os.windows.nt.GlobalMemory oshi.software.os.windows.nt.OSNativeSystemInfo oshi.software.os.windows.nt.OSVersionInfoEx oshi.software.os.windows.nt.Pdh$PdhFmtCounterValue oshi.software.os.windows.nt.Pdh$ValueUnion oshi.software.os.windows.nt.PowrProf$SystemBatteryState oshi.software.os.windows.nt.WindowsFileSystem oshi.software.os.windows.nt.WindowsPowerSource |
oshi.software.os.windows |
com.sun.jna com.sun.jna.platform.win32 com.sun.jna.ptr com.sun.management java.io java.lang java.lang.management java.util java.util.regex javax.swing.filechooser oshi.hardware oshi.software.os oshi.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 7 | 40.0% | 64.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
oshi.util.FormatUtil oshi.util.ParseUtil |
oshi.util.ExecutingCommand oshi.util.FileUtil oshi.util.Util |
oshi.software.os.linux oshi.software.os.linux.proc oshi.software.os.mac.local oshi.software.os.windows.nt |
java.io java.lang java.math java.nio.charset java.nio.file java.util java.util.regex |
Package | Package Dependencies |
---|---|
oshi | oshi.software.os.linux oshi.software.os.linux.proc oshi.software.os.linux |
oshi.software.os.linux | oshi.software.os.linux.proc oshi.software.os.linux |
oshi.software.os.linux.proc | oshi.software.os.linux oshi.software.os.linux.proc |
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. |