| Package | TC | CC | AC | Ca | Ce | A | I | D | V |
|---|---|---|---|---|---|---|---|---|---|
| com.jcraft.jzlib | 14 | 14 | 0 | 1 | 2 | 0.0% | 67.0% | 33.0% | 1 |
| com.twmacinta.util | 2 | 2 | 0 | 1 | 2 | 0.0% | 67.0% | 33.0% | 1 |
| net.ayaslive.miniim.common | 12 | 8 | 4 | 4 | 7 | 33.0% | 64.0% | 3.0% | 1 |
| net.ayaslive.miniim.plugins.facebook | 1 | 1 | 0 | 0 | 5 | 0.0% | 100.0% | 0.0% | 1 |
| net.ayaslive.miniim.plugins.msn | 1 | 1 | 0 | 0 | 2 | 0.0% | 100.0% | 0.0% | 1 |
| net.ayaslive.miniim.plugins.xmpp | 5 | 3 | 2 | 1 | 8 | 40.0% | 89.0% | 29.0% | 1 |
| net.ayaslive.miniim.ui | 13 | 12 | 1 | 0 | 15 | 8.0% | 100.0% | 8.0% | 1 |
| net.ayaslive.miniim.ui.core | 14 | 7 | 7 | 4 | 5 | 50.0% | 56.0% | 6.0% | 1 |
| net.ayaslive.miniim.ui.core.list | 7 | 6 | 1 | 4 | 4 | 14.0% | 50.0% | 36.0% | 1 |
| net.ayaslive.miniim.ui.markup | 3 | 1 | 2 | 1 | 7 | 67.0% | 88.0% | 54.000004% | 1 |
| net.ayaslive.miniim.ui.markup.extended | 2 | 2 | 0 | 1 | 10 | 0.0% | 91.0% | 9.0% | 1 |
| net.ayaslive.miniim.utils | 3 | 3 | 0 | 5 | 9 | 0.0% | 64.0% | 36.0% | 1 |
| net.ayaslive.miniim.utils.io | 3 | 3 | 0 | 1 | 3 | 0.0% | 75.0% | 25.0% | 1 |
| net.ayaslive.miniim.utils.io.resource | 4 | 2 | 2 | 2 | 9 | 50.0% | 82.0% | 32.0% | 1 |
| net.ayaslive.miniim.utils.simplelogger | 3 | 2 | 1 | 8 | 4 | 33.0% | 33.0% | 33.0% | 1 |
| org.kxml2.io | 2 | 2 | 0 | 5 | 5 | 0.0% | 50.0% | 50.0% | 1 |
| org.kxml2.kdom | 3 | 3 | 0 | 4 | 4 | 0.0% | 50.0% | 50.0% | 1 |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 2 | 0.0% | 67.0% | 33.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | com.jcraft.jzlib.Adler32 com.jcraft.jzlib.Deflate com.jcraft.jzlib.Deflate$Config com.jcraft.jzlib.InfBlocks com.jcraft.jzlib.InfCodes com.jcraft.jzlib.InfTree com.jcraft.jzlib.Inflate com.jcraft.jzlib.JZlib com.jcraft.jzlib.StaticTree com.jcraft.jzlib.Tree com.jcraft.jzlib.ZInputStream com.jcraft.jzlib.ZOutputStream com.jcraft.jzlib.ZStream com.jcraft.jzlib.ZStreamException |
net.ayaslive.miniim.plugins.xmpp |
java.io java.lang |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 2 | 0.0% | 67.0% | 33.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | com.twmacinta.util.MD5 com.twmacinta.util.MD5State |
net.ayaslive.miniim.utils |
java.io java.lang |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 7 | 33.0% | 64.0% | 3.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.common.BuddyStateListener net.ayaslive.miniim.common.IMProtocol net.ayaslive.miniim.common.IMStateChangeListener net.ayaslive.miniim.common.MessageListener |
net.ayaslive.miniim.common.Account net.ayaslive.miniim.common.Account$1 net.ayaslive.miniim.common.Buddy net.ayaslive.miniim.common.BuddyStore net.ayaslive.miniim.common.IMMessage net.ayaslive.miniim.common.IMMonitor net.ayaslive.miniim.common.IMMonitor$IMCommand net.ayaslive.miniim.common.IMProtocol$1 |
net.ayaslive.miniim.plugins.facebook net.ayaslive.miniim.plugins.msn net.ayaslive.miniim.plugins.xmpp net.ayaslive.miniim.ui |
java.io java.lang java.util javax.microedition.rms net.ayaslive.miniim.plugins.xmpp net.ayaslive.miniim.utils.simplelogger org.kxml2.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 5 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | net.ayaslive.miniim.plugins.facebook.FBIMProtocol |
None | java.io java.lang java.util net.ayaslive.miniim.common net.ayaslive.miniim.utils |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 2 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | net.ayaslive.miniim.plugins.msn.MSNIMProtocol |
None | java.io net.ayaslive.miniim.common |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 8 | 40.0% | 89.0% | 29.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.plugins.xmpp.XMPPInterface net.ayaslive.miniim.plugins.xmpp.XMPPListener |
net.ayaslive.miniim.plugins.xmpp.XMPPIMProtocol net.ayaslive.miniim.plugins.xmpp.XMPPInputStream net.ayaslive.miniim.plugins.xmpp.XMPPOutputStream |
net.ayaslive.miniim.common |
com.jcraft.jzlib java.io java.lang javax.microedition.io net.ayaslive.miniim.common net.ayaslive.miniim.utils net.ayaslive.miniim.utils.simplelogger org.kxml2.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 15 | 8.0% | 100.0% | 8.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.ui.Vocabulary |
net.ayaslive.miniim.ui.AccountDialog net.ayaslive.miniim.ui.AccountListDialog net.ayaslive.miniim.ui.AccountListDialog$1 net.ayaslive.miniim.ui.App net.ayaslive.miniim.ui.App$1 net.ayaslive.miniim.ui.BuddyDialog net.ayaslive.miniim.ui.BuddyList net.ayaslive.miniim.ui.ConversationDialog net.ayaslive.miniim.ui.MiniWebControler net.ayaslive.miniim.ui.Settings net.ayaslive.miniim.ui.Settings$1 net.ayaslive.miniim.ui.Settings$SettingsLazyInit |
None | java.io java.lang java.util javax.microedition.io javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms net.ayaslive.miniim.common net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.markup.extended net.ayaslive.miniim.utils net.ayaslive.miniim.utils.io.resource net.ayaslive.miniim.utils.simplelogger org.kxml2.kdom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 5 | 50.0% | 56.0% | 6.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.ui.core.ActionListener net.ayaslive.miniim.ui.core.List net.ayaslive.miniim.ui.core.ListForm net.ayaslive.miniim.ui.core.Popup net.ayaslive.miniim.ui.core.SelectionBox net.ayaslive.miniim.ui.core.TextEditListener net.ayaslive.miniim.ui.core.Window |
net.ayaslive.miniim.ui.core.DefaultSelectionbox net.ayaslive.miniim.ui.core.Menu net.ayaslive.miniim.ui.core.SharedCanvas net.ayaslive.miniim.ui.core.SharedCanvas$1 net.ayaslive.miniim.ui.core.SharedCanvas$Balloon net.ayaslive.miniim.ui.core.SplashScreen net.ayaslive.miniim.ui.core.TextEdit |
net.ayaslive.miniim.ui net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.markup net.ayaslive.miniim.ui.markup.extended |
java.lang java.util javax.microedition.lcdui javax.microedition.lcdui.game net.ayaslive.miniim.ui.core.list |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 4 | 14.0% | 50.0% | 36.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.ui.core.list.ListItem |
net.ayaslive.miniim.ui.core.list.Label net.ayaslive.miniim.ui.core.list.ListItemFactory net.ayaslive.miniim.ui.core.list.Select net.ayaslive.miniim.ui.core.list.Select$1 net.ayaslive.miniim.ui.core.list.Select$SelectHolder net.ayaslive.miniim.ui.core.list.TextInput |
net.ayaslive.miniim.ui net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.markup net.ayaslive.miniim.ui.markup.extended |
java.io java.lang javax.microedition.lcdui net.ayaslive.miniim.ui.core |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 7 | 67.0% | 88.0% | 54.000004% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.ui.markup.EventListener net.ayaslive.miniim.ui.markup.MediaLoader |
net.ayaslive.miniim.ui.markup.MarkupItem |
net.ayaslive.miniim.ui.markup.extended |
java.io java.lang java.util javax.microedition.lcdui net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list org.kxml2.kdom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 10 | 0.0% | 91.0% | 9.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | net.ayaslive.miniim.ui.markup.extended.DefaultComplexListener net.ayaslive.miniim.ui.markup.extended.MarkupList |
net.ayaslive.miniim.ui |
java.io java.lang java.util javax.microedition.lcdui net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.markup net.ayaslive.miniim.utils.io.resource net.ayaslive.miniim.utils.simplelogger org.kxml2.kdom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 5 | 9 | 0.0% | 64.0% | 36.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | net.ayaslive.miniim.utils.Base64 net.ayaslive.miniim.utils.ImageUtils net.ayaslive.miniim.utils.WebUtils |
net.ayaslive.miniim.plugins.facebook net.ayaslive.miniim.plugins.xmpp net.ayaslive.miniim.ui net.ayaslive.miniim.utils.io.resource net.ayaslive.miniim.utils.simplelogger |
com.twmacinta.util java.io java.lang java.util javax.microedition.io javax.microedition.lcdui javax.microedition.midlet net.ayaslive.miniim.utils.simplelogger org.kxml2.io |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 3 | 0.0% | 75.0% | 25.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | net.ayaslive.miniim.utils.io.DefaultReader net.ayaslive.miniim.utils.io.DumperInputStream net.ayaslive.miniim.utils.io.DumperOutputStream |
org.kxml2.io |
java.io java.lang net.ayaslive.miniim.utils.simplelogger |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 9 | 50.0% | 82.0% | 32.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.utils.io.resource.ResourceConnector net.ayaslive.miniim.utils.io.resource.ResourceListener |
net.ayaslive.miniim.utils.io.resource.ResourceFetcher net.ayaslive.miniim.utils.io.resource.ResourceIdentifier |
net.ayaslive.miniim.ui net.ayaslive.miniim.ui.markup.extended |
java.io java.lang java.util javax.microedition.io javax.microedition.lcdui net.ayaslive.miniim.utils net.ayaslive.miniim.utils.simplelogger org.kxml2.io org.kxml2.kdom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 8 | 4 | 33.0% | 33.0% | 33.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| net.ayaslive.miniim.utils.simplelogger.SimpleLogListener |
net.ayaslive.miniim.utils.simplelogger.SimpleLogger net.ayaslive.miniim.utils.simplelogger.SimpleLogger$1 |
net.ayaslive.miniim.common net.ayaslive.miniim.plugins.xmpp net.ayaslive.miniim.ui net.ayaslive.miniim.ui.markup.extended net.ayaslive.miniim.utils net.ayaslive.miniim.utils.io net.ayaslive.miniim.utils.io.resource org.kxml2.io |
java.io java.lang java.util net.ayaslive.miniim.utils |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 5 | 5 | 0.0% | 50.0% | 50.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.kxml2.io.KXmlParser org.kxml2.io.KXmlSerializer |
net.ayaslive.miniim.common net.ayaslive.miniim.plugins.xmpp net.ayaslive.miniim.utils net.ayaslive.miniim.utils.io.resource org.kxml2.kdom |
java.io java.lang java.util net.ayaslive.miniim.utils.io net.ayaslive.miniim.utils.simplelogger |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 4 | 0.0% | 50.0% | 50.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.kxml2.kdom.Document org.kxml2.kdom.Element org.kxml2.kdom.Node |
net.ayaslive.miniim.ui net.ayaslive.miniim.ui.markup net.ayaslive.miniim.ui.markup.extended net.ayaslive.miniim.utils.io.resource |
java.io java.lang java.util org.kxml2.io |
| Package | Package Dependencies |
|---|---|
| net.ayaslive.miniim.common | org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io |
| net.ayaslive.miniim.plugins.facebook | net.ayaslive.miniim.common org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io |
| net.ayaslive.miniim.plugins.msn | net.ayaslive.miniim.common org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io |
| net.ayaslive.miniim.plugins.xmpp | net.ayaslive.miniim.common org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io |
| net.ayaslive.miniim.ui | net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list |
| net.ayaslive.miniim.ui.core | net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.core |
| net.ayaslive.miniim.ui.core.list | net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list |
| net.ayaslive.miniim.ui.markup | net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list |
| net.ayaslive.miniim.ui.markup.extended | net.ayaslive.miniim.ui.core.list net.ayaslive.miniim.ui.core net.ayaslive.miniim.ui.core.list |
| net.ayaslive.miniim.utils | org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils |
| net.ayaslive.miniim.utils.io | net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io net.ayaslive.miniim.utils.simplelogger |
| net.ayaslive.miniim.utils.io.resource | net.ayaslive.miniim.utils org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils |
| net.ayaslive.miniim.utils.simplelogger | net.ayaslive.miniim.utils org.kxml2.io net.ayaslive.miniim.utils.simplelogger |
| org.kxml2.io | net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io |
| org.kxml2.kdom | org.kxml2.io net.ayaslive.miniim.utils.simplelogger net.ayaslive.miniim.utils org.kxml2.io |
| 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. |