| Package | TC | CC | AC | Ca | Ce | A | I | D | V |
|---|---|---|---|---|---|---|---|---|---|
| examples | 20 | 20 | 0 | 1 | 12 | 0.0% | 92.0% | 8.0% | 1 |
| examples.nntp | 5 | 5 | 0 | 0 | 7 | 0.0% | 100.0% | 0.0% | 1 |
| examples.ntp | 2 | 2 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
| org.apache.commons.net | 22 | 17 | 5 | 10 | 5 | 23.0% | 33.0% | 44.0% | 1 |
| org.apache.commons.net.bsd | 3 | 3 | 0 | 1 | 5 | 0.0% | 83.0% | 17.0% | 1 |
| org.apache.commons.net.ftp | 16 | 11 | 5 | 2 | 10 | 31.0% | 83.0% | 15.000001% | 1 |
| org.apache.commons.net.ftp.parser | 18 | 14 | 4 | 1 | 6 | 22.0% | 86.0% | 8.0% | 1 |
| org.apache.commons.net.io | 13 | 12 | 1 | 9 | 5 | 8.0% | 36.0% | 57.0% | 1 |
| org.apache.commons.net.nntp | 13 | 12 | 1 | 1 | 5 | 8.0% | 83.0% | 9.0% | 1 |
| org.apache.commons.net.ntp | 6 | 5 | 1 | 1 | 7 | 17.0% | 88.0% | 4.0% | 1 |
| org.apache.commons.net.pop3 | 5 | 5 | 0 | 1 | 6 | 0.0% | 86.0% | 14.0% | 1 |
| org.apache.commons.net.smtp | 7 | 7 | 0 | 1 | 6 | 0.0% | 86.0% | 14.0% | 1 |
| org.apache.commons.net.telnet | 13 | 11 | 2 | 2 | 4 | 15.000001% | 67.0% | 18.0% | 1 |
| org.apache.commons.net.tftp | 10 | 8 | 2 | 1 | 5 | 20.0% | 83.0% | 3.0% | 1 |
| org.apache.commons.net.util | 1 | 1 | 0 | 2 | 3 | 0.0% | 60.000004% | 40.0% | 1 |
| 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 | examples.IOUtil examples.IOUtil$1 examples.IOUtil$2 examples.PrintCommandListener examples.TelnetClientExample examples.chargen examples.daytime examples.echo examples.finger examples.ftp examples.fwhois examples.mail examples.messages examples.rdate examples.rexec examples.rlogin examples.rshell examples.server2serverFTP examples.tftp examples.weatherTelnet |
examples.nntp |
java.io java.lang java.net java.util org.apache.commons.net org.apache.commons.net.bsd org.apache.commons.net.ftp org.apache.commons.net.io org.apache.commons.net.pop3 org.apache.commons.net.smtp org.apache.commons.net.telnet org.apache.commons.net.tftp |
| 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 | examples.nntp.ExtendedNNTPOps examples.nntp.MessageThreading examples.nntp.NNTPUtils examples.nntp.newsgroups examples.nntp.post |
None | examples java.io java.lang java.net java.util org.apache.commons.net.io org.apache.commons.net.nntp |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 6 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | examples.ntp.NTPClient examples.ntp.TimeClient |
None | java.io java.lang java.net java.text org.apache.commons.net org.apache.commons.net.ntp |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 10 | 5 | 23.0% | 33.0% | 44.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.DatagramSocketClient org.apache.commons.net.DatagramSocketFactory org.apache.commons.net.ProtocolCommandListener org.apache.commons.net.SocketClient org.apache.commons.net.SocketFactory |
org.apache.commons.net.CharGenTCPClient org.apache.commons.net.CharGenUDPClient org.apache.commons.net.DaytimeTCPClient org.apache.commons.net.DaytimeUDPClient org.apache.commons.net.DefaultDatagramSocketFactory org.apache.commons.net.DefaultSocketFactory org.apache.commons.net.DiscardTCPClient org.apache.commons.net.DiscardUDPClient org.apache.commons.net.EchoTCPClient org.apache.commons.net.EchoUDPClient org.apache.commons.net.FingerClient org.apache.commons.net.MalformedServerReplyException org.apache.commons.net.ProtocolCommandEvent org.apache.commons.net.ProtocolCommandSupport org.apache.commons.net.TimeTCPClient org.apache.commons.net.TimeUDPClient org.apache.commons.net.WhoisClient |
examples examples.ntp org.apache.commons.net.bsd org.apache.commons.net.ftp org.apache.commons.net.nntp org.apache.commons.net.ntp org.apache.commons.net.pop3 org.apache.commons.net.smtp org.apache.commons.net.telnet org.apache.commons.net.tftp |
java.io java.lang java.net java.util org.apache.commons.net.util |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 5 | 0.0% | 83.0% | 17.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.apache.commons.net.bsd.RCommandClient org.apache.commons.net.bsd.RExecClient org.apache.commons.net.bsd.RLoginClient |
examples |
java.io java.lang java.net org.apache.commons.net org.apache.commons.net.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 10 | 31.0% | 83.0% | 15.000001% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.ftp.Configurable org.apache.commons.net.ftp.FTPFileEntryParser org.apache.commons.net.ftp.FTPFileEntryParserImpl org.apache.commons.net.ftp.FTPFileListParser org.apache.commons.net.ftp.FTPFileListParserImpl |
org.apache.commons.net.ftp.DefaultFTPFileListParser org.apache.commons.net.ftp.FTP org.apache.commons.net.ftp.FTPClient org.apache.commons.net.ftp.FTPClientConfig org.apache.commons.net.ftp.FTPCommand org.apache.commons.net.ftp.FTPConnectionClosedException org.apache.commons.net.ftp.FTPFile org.apache.commons.net.ftp.FTPFileIterator org.apache.commons.net.ftp.FTPFileList org.apache.commons.net.ftp.FTPListParseEngine org.apache.commons.net.ftp.FTPReply |
examples org.apache.commons.net.ftp.parser |
java.io java.lang java.lang.reflect java.net java.text java.util org.apache.commons.net org.apache.commons.net.ftp.parser org.apache.commons.net.io org.apache.commons.net.telnet |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 6 | 22.0% | 86.0% | 8.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl org.apache.commons.net.ftp.parser.FTPFileEntryParserFactory org.apache.commons.net.ftp.parser.FTPTimestampParser org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl |
org.apache.commons.net.ftp.parser.CompositeFileEntryParser org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory org.apache.commons.net.ftp.parser.EnterpriseUnixFTPEntryParser org.apache.commons.net.ftp.parser.FTPTimestampParserImpl org.apache.commons.net.ftp.parser.MVSFTPEntryParser org.apache.commons.net.ftp.parser.NTFTPEntryParser org.apache.commons.net.ftp.parser.NetwareFTPEntryParser org.apache.commons.net.ftp.parser.OS2FTPEntryParser org.apache.commons.net.ftp.parser.OS400FTPEntryParser org.apache.commons.net.ftp.parser.ParserInitializationException org.apache.commons.net.ftp.parser.UnixFTPEntryParser org.apache.commons.net.ftp.parser.VMSFTPEntryParser org.apache.commons.net.ftp.parser.VMSVersioningFTPEntryParser org.apache.commons.net.ftp.parser.VMSVersioningFTPEntryParser$NameVersion |
org.apache.commons.net.ftp |
java.io java.lang java.text java.util org.apache.commons.net.ftp org.apache.oro.text.regex |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 9 | 5 | 8.0% | 36.0% | 57.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.io.CopyStreamListener |
org.apache.commons.net.io.CopyStreamAdapter org.apache.commons.net.io.CopyStreamEvent org.apache.commons.net.io.CopyStreamException org.apache.commons.net.io.DotTerminatedMessageReader org.apache.commons.net.io.DotTerminatedMessageWriter org.apache.commons.net.io.FromNetASCIIInputStream org.apache.commons.net.io.FromNetASCIIOutputStream org.apache.commons.net.io.SocketInputStream org.apache.commons.net.io.SocketOutputStream org.apache.commons.net.io.ToNetASCIIInputStream org.apache.commons.net.io.ToNetASCIIOutputStream org.apache.commons.net.io.Util |
examples examples.nntp org.apache.commons.net.bsd org.apache.commons.net.ftp org.apache.commons.net.nntp org.apache.commons.net.pop3 org.apache.commons.net.smtp org.apache.commons.net.telnet org.apache.commons.net.tftp |
java.io java.lang java.net java.util org.apache.commons.net.util |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 5 | 8.0% | 83.0% | 9.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.nntp.Threadable |
org.apache.commons.net.nntp.Article org.apache.commons.net.nntp.ArticlePointer org.apache.commons.net.nntp.NNTP org.apache.commons.net.nntp.NNTPClient org.apache.commons.net.nntp.NNTPCommand org.apache.commons.net.nntp.NNTPConnectionClosedException org.apache.commons.net.nntp.NNTPReply org.apache.commons.net.nntp.NewGroupsOrNewsQuery org.apache.commons.net.nntp.NewsgroupInfo org.apache.commons.net.nntp.SimpleNNTPHeader org.apache.commons.net.nntp.ThreadContainer org.apache.commons.net.nntp.Threader |
examples.nntp |
java.io java.lang java.util org.apache.commons.net org.apache.commons.net.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 7 | 17.0% | 88.0% | 4.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.ntp.NtpV3Packet |
org.apache.commons.net.ntp.NTPUDPClient org.apache.commons.net.ntp.NtpUtils org.apache.commons.net.ntp.NtpV3Impl org.apache.commons.net.ntp.TimeInfo org.apache.commons.net.ntp.TimeStamp |
examples.ntp |
java.io java.lang java.lang.ref java.net java.text java.util org.apache.commons.net |
| 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 | org.apache.commons.net.pop3.POP3 org.apache.commons.net.pop3.POP3Client org.apache.commons.net.pop3.POP3Command org.apache.commons.net.pop3.POP3MessageInfo org.apache.commons.net.pop3.POP3Reply |
examples |
java.io java.lang java.security java.util org.apache.commons.net org.apache.commons.net.io |
| 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 | org.apache.commons.net.smtp.RelayPath org.apache.commons.net.smtp.SMTP org.apache.commons.net.smtp.SMTPClient org.apache.commons.net.smtp.SMTPCommand org.apache.commons.net.smtp.SMTPConnectionClosedException org.apache.commons.net.smtp.SMTPReply org.apache.commons.net.smtp.SimpleSMTPHeader |
examples |
java.io java.lang java.net java.util org.apache.commons.net org.apache.commons.net.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 4 | 15.000001% | 67.0% | 18.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.telnet.TelnetNotificationHandler org.apache.commons.net.telnet.TelnetOptionHandler |
org.apache.commons.net.telnet.EchoOptionHandler org.apache.commons.net.telnet.InvalidTelnetOptionException org.apache.commons.net.telnet.SimpleOptionHandler org.apache.commons.net.telnet.SuppressGAOptionHandler org.apache.commons.net.telnet.Telnet org.apache.commons.net.telnet.TelnetClient org.apache.commons.net.telnet.TelnetCommand org.apache.commons.net.telnet.TelnetInputStream org.apache.commons.net.telnet.TelnetOption org.apache.commons.net.telnet.TelnetOutputStream org.apache.commons.net.telnet.TerminalTypeOptionHandler |
examples org.apache.commons.net.ftp |
java.io java.lang org.apache.commons.net org.apache.commons.net.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 5 | 20.0% | 83.0% | 3.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPRequestPacket |
org.apache.commons.net.tftp.TFTP org.apache.commons.net.tftp.TFTPAckPacket org.apache.commons.net.tftp.TFTPClient org.apache.commons.net.tftp.TFTPDataPacket org.apache.commons.net.tftp.TFTPErrorPacket org.apache.commons.net.tftp.TFTPPacketException org.apache.commons.net.tftp.TFTPReadRequestPacket org.apache.commons.net.tftp.TFTPWriteRequestPacket |
examples |
java.io java.lang java.net org.apache.commons.net org.apache.commons.net.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 3 | 0.0% | 60.000004% | 40.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.apache.commons.net.util.ListenerList |
org.apache.commons.net org.apache.commons.net.io |
java.io java.lang java.util |
| Package | Package Dependencies |
|---|---|
| examples | org.apache.commons.net.ftp org.apache.commons.net.ftp.parser org.apache.commons.net.ftp |
| examples.nntp | examples org.apache.commons.net.ftp org.apache.commons.net.ftp.parser org.apache.commons.net.ftp |
| org.apache.commons.net.ftp | org.apache.commons.net.ftp.parser org.apache.commons.net.ftp |
| org.apache.commons.net.ftp.parser | org.apache.commons.net.ftp org.apache.commons.net.ftp.parser |
| 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. |