Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
net.sourceforge.rpgee | 15 | 5 | 10 | 4 | 12 | 67.0% | 75.0% | 42.0% | 1 |
net.sourceforge.rpgee.dice | 11 | 0 | 11 | 0 | 7 | 100.0% | 100.0% | 100.0% | 1 |
net.sourceforge.rpgee.dice.exceptions | 4 | 4 | 0 | 2 | 2 | 0.0% | 50.0% | 50.0% | 1 |
net.sourceforge.rpgee.exceptions | 2 | 2 | 0 | 6 | 1 | 0.0% | 14.0% | 86.0% | 1 |
net.sourceforge.rpgee.gui | 2 | 1 | 1 | 1 | 5 | 50.0% | 83.0% | 33.0% | 1 |
net.sourceforge.rpgee.mapping | 7 | 0 | 7 | 0 | 4 | 100.0% | 100.0% | 100.0% | 1 |
net.sourceforge.rpgee.mapping.exceptions | 1 | 1 | 0 | 0 | 2 | 0.0% | 100.0% | 0.0% | 1 |
net.sourceforge.rpgee.messaging | 9 | 2 | 7 | 8 | 5 | 78.0% | 38.0% | 16.0% | 1 |
net.sourceforge.rpgee.messaging.exceptions | 3 | 2 | 1 | 6 | 3 | 33.0% | 33.0% | 33.0% | 1 |
net.sourceforge.rpgee.messaging.network | 11 | 9 | 2 | 1 | 8 | 18.0% | 89.0% | 7.0% | 1 |
net.sourceforge.rpgee.resources | 4 | 0 | 4 | 2 | 2 | 100.0% | 50.0% | 50.0% | 1 |
net.sourceforge.rpgee.resources.exceptions | 1 | 1 | 0 | 1 | 2 | 0.0% | 67.0% | 33.0% | 1 |
net.sourceforge.rpgee.resources.openrpg.tree | 1 | 1 | 0 | 0 | 7 | 0.0% | 100.0% | 0.0% | 1 |
net.sourceforge.rpgee.utility | 10 | 6 | 4 | 3 | 8 | 40.0% | 73.0% | 13.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 12 | 67.0% | 75.0% | 42.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.AbstractIdentified net.sourceforge.rpgee.Categorized net.sourceforge.rpgee.Describable net.sourceforge.rpgee.Duplicatable net.sourceforge.rpgee.ExprParserTokenTypes net.sourceforge.rpgee.Identified net.sourceforge.rpgee.Localized net.sourceforge.rpgee.MutableIdentified net.sourceforge.rpgee.Named net.sourceforge.rpgee.Versionated | net.sourceforge.rpgee.Client net.sourceforge.rpgee.Engine net.sourceforge.rpgee.ExprLexer net.sourceforge.rpgee.ExprParser net.sourceforge.rpgee.ObserverObservingThread | net.sourceforge.rpgee.dice net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.network net.sourceforge.rpgee.utility | antlr antlr.collections.impl java.io java.lang java.util net.sourceforge.rpgee.exceptions net.sourceforge.rpgee.gui net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging.network net.sourceforge.rpgee.utility org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.dice.AbstractGeneratedRandomValue net.sourceforge.rpgee.dice.AbstractRandomValue net.sourceforge.rpgee.dice.AbstractRandomValueGenerator net.sourceforge.rpgee.dice.GeneratedRandomValue net.sourceforge.rpgee.dice.GeneratedRandomValueMapper net.sourceforge.rpgee.dice.RandomNumberProducer net.sourceforge.rpgee.dice.RandomValue net.sourceforge.rpgee.dice.RandomValueGenerator net.sourceforge.rpgee.dice.RandomValueHandler net.sourceforge.rpgee.dice.RandomValueResultMapper net.sourceforge.rpgee.dice.RandomizerPackageMetadata | None | None | java.lang java.util net.sourceforge.rpgee net.sourceforge.rpgee.dice.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.sourceforge.rpgee.dice.exceptions.InvalidParameterException net.sourceforge.rpgee.dice.exceptions.InvalidRandomValueOutputException net.sourceforge.rpgee.dice.exceptions.MissingParameterException net.sourceforge.rpgee.dice.exceptions.RandomValueException | net.sourceforge.rpgee.dice net.sourceforge.rpgee.utility | java.lang net.sourceforge.rpgee.exceptions |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 1 | 0.0% | 14.0% | 86.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.sourceforge.rpgee.exceptions.IdentityException net.sourceforge.rpgee.exceptions.KeyMessageBasedException | net.sourceforge.rpgee net.sourceforge.rpgee.dice.exceptions net.sourceforge.rpgee.mapping.exceptions net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.resources.exceptions net.sourceforge.rpgee.utility | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 50.0% | 83.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.gui.ServerDesktop | net.sourceforge.rpgee.gui.ClientDesktop | net.sourceforge.rpgee | java.lang javax.swing net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.utility |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.mapping.GameMapLayer net.sourceforge.rpgee.mapping.GameMapModel net.sourceforge.rpgee.mapping.GameMapRenderingInfo net.sourceforge.rpgee.mapping.GameMapServer net.sourceforge.rpgee.mapping.GameMapSource net.sourceforge.rpgee.mapping.MappingMessage net.sourceforge.rpgee.mapping.Sprite | None | None | java.awt java.lang net.sourceforge.rpgee.messaging net.sourceforge.rpgee.resources |
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.sourceforge.rpgee.mapping.exceptions.MappingException | None | java.lang net.sourceforge.rpgee.exceptions |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
8 | 5 | 78.0% | 38.0% | 16.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.messaging.MutableRpgMessage net.sourceforge.rpgee.messaging.RetainingTransformer net.sourceforge.rpgee.messaging.RpgMessage net.sourceforge.rpgee.messaging.RpgMessageProducer net.sourceforge.rpgee.messaging.RpgMessageQueue net.sourceforge.rpgee.messaging.RpgMessageTransformer net.sourceforge.rpgee.messaging.RpgMessagingToken | net.sourceforge.rpgee.messaging.PropertyChangeRpgMessage net.sourceforge.rpgee.messaging.PropertyChangedValue | net.sourceforge.rpgee net.sourceforge.rpgee.dice net.sourceforge.rpgee.gui net.sourceforge.rpgee.mapping net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging.network net.sourceforge.rpgee.resources net.sourceforge.rpgee.utility | java.io java.lang java.util net.sourceforge.rpgee net.sourceforge.rpgee.messaging.exceptions |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 3 | 33.0% | 33.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.messaging.exceptions.RpgMessageConsumer | net.sourceforge.rpgee.messaging.exceptions.RpgAbortUpdateException net.sourceforge.rpgee.messaging.exceptions.RpgMessageException | net.sourceforge.rpgee net.sourceforge.rpgee.dice net.sourceforge.rpgee.gui net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.network net.sourceforge.rpgee.utility | java.lang net.sourceforge.rpgee.exceptions net.sourceforge.rpgee.messaging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 8 | 18.0% | 89.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.messaging.network.Cookie net.sourceforge.rpgee.messaging.network.NetworkMessageTransporter | net.sourceforge.rpgee.messaging.network.ClientNetworkMessageTransporter net.sourceforge.rpgee.messaging.network.CookieFactory net.sourceforge.rpgee.messaging.network.CookieFactory$CookieImpl net.sourceforge.rpgee.messaging.network.DefaultRpgMessageHandler net.sourceforge.rpgee.messaging.network.IdentifierFactory net.sourceforge.rpgee.messaging.network.NetworkMessage net.sourceforge.rpgee.messaging.network.NetworkMessageClient net.sourceforge.rpgee.messaging.network.NetworkMessageHub net.sourceforge.rpgee.messaging.network.ServerNetworkMessageTransporter | net.sourceforge.rpgee | java.lang java.util java.util.concurrent net.sourceforge.rpgee net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.utility org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 100.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.resources.Resource net.sourceforge.rpgee.resources.ResourceLoader net.sourceforge.rpgee.resources.ResourceManager net.sourceforge.rpgee.resources.ResourceMessage | None | net.sourceforge.rpgee.mapping net.sourceforge.rpgee.resources.openrpg.tree | java.lang net.sourceforge.rpgee.messaging |
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 | net.sourceforge.rpgee.resources.exceptions.ResourceException | net.sourceforge.rpgee.resources.openrpg.tree | java.lang net.sourceforge.rpgee.exceptions |
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 | net.sourceforge.rpgee.resources.openrpg.tree.OpenRpg1TreeResourceManager | None | java.io java.lang java.net net.sourceforge.rpgee.resources net.sourceforge.rpgee.resources.exceptions org.apache.commons.lang org.apache.commons.logging |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 8 | 40.0% | 73.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.sourceforge.rpgee.utility.BaseIdentified net.sourceforge.rpgee.utility.Constants net.sourceforge.rpgee.utility.Observable net.sourceforge.rpgee.utility.Observer | net.sourceforge.rpgee.utility.BaseObservable net.sourceforge.rpgee.utility.LoggingClientWindow net.sourceforge.rpgee.utility.SystemMessages net.sourceforge.rpgee.utility.SystemMessages$SystemMessage net.sourceforge.rpgee.utility.UtilsClass net.sourceforge.rpgee.utility.Version | net.sourceforge.rpgee net.sourceforge.rpgee.gui net.sourceforge.rpgee.messaging.network | java.lang java.util net.sourceforge.rpgee net.sourceforge.rpgee.dice.exceptions net.sourceforge.rpgee.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions org.joda.time |
Package | Package Dependencies |
---|---|
net.sourceforge.rpgee | net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions |
net.sourceforge.rpgee.dice | net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions |
net.sourceforge.rpgee.gui | net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions |
net.sourceforge.rpgee.mapping | net.sourceforge.rpgee.resources net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging |
net.sourceforge.rpgee.messaging | net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging |
net.sourceforge.rpgee.messaging.exceptions | net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions |
net.sourceforge.rpgee.messaging.network | net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions |
net.sourceforge.rpgee.resources | net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging |
net.sourceforge.rpgee.resources.openrpg.tree | net.sourceforge.rpgee.resources net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging |
net.sourceforge.rpgee.utility | net.sourceforge.rpgee net.sourceforge.rpgee.messaging.exceptions net.sourceforge.rpgee.messaging net.sourceforge.rpgee.messaging.exceptions |
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. |