Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.jadira.usertype.corejava | 1 | 1 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
org.jadira.usertype.dateandtime.joda | 41 | 40 | 1 | 0 | 7 | 2.0% | 100.0% | 2.0% | 1 |
org.jadira.usertype.dateandtime.joda.columnmapper | 34 | 34 | 0 | 1 | 10 | 0.0% | 91.0% | 9.0% | 1 |
org.jadira.usertype.dateandtime.joda.util | 3 | 3 | 0 | 2 | 4 | 0.0% | 67.0% | 33.0% | 1 |
org.jadira.usertype.dateandtime.legacyjdk | 2 | 2 | 0 | 0 | 4 | 0.0% | 100.0% | 0.0% | 1 |
org.jadira.usertype.dateandtime.legacyjdk.columnmapper | 4 | 4 | 0 | 0 | 6 | 0.0% | 100.0% | 0.0% | 1 |
org.jadira.usertype.moneyandcurrency.joda | 21 | 20 | 1 | 0 | 10 | 5.0% | 100.0% | 5.0% | 1 |
org.jadira.usertype.moneyandcurrency.joda.columnmapper | 8 | 8 | 0 | 1 | 5 | 0.0% | 83.0% | 17.0% | 1 |
org.jadira.usertype.moneyandcurrency.joda.util | 1 | 0 | 1 | 2 | 2 | 100.0% | 50.0% | 50.0% | 1 |
org.jadira.usertype.moneyandcurrency.legacyjdk | 1 | 1 | 0 | 0 | 1 | 0.0% | 100.0% | 0.0% | 1 |
org.jadira.usertype.moneyandcurrency.legacyjdk.columnmapper | 3 | 3 | 0 | 1 | 4 | 0.0% | 80.0% | 20.0% | 1 |
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 | org.jadira.usertype.corejava.PersistentEnum |
None | java.lang java.lang.reflect java.util org.hibernate org.hibernate.usertype org.jadira.usertype.spi.shared |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 2.0% | 100.0% | 2.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.jadira.usertype.dateandtime.joda.AbstractMultiColumnDateMidnight |
org.jadira.usertype.dateandtime.joda.PersistentDateMidnight org.jadira.usertype.dateandtime.joda.PersistentDateMidnightAsString org.jadira.usertype.dateandtime.joda.PersistentDateTime org.jadira.usertype.dateandtime.joda.PersistentDateTimeAndZone org.jadira.usertype.dateandtime.joda.PersistentDateTimeAndZoneWithOffset org.jadira.usertype.dateandtime.joda.PersistentDateTimeAsString org.jadira.usertype.dateandtime.joda.PersistentDateTimeAsUtcString org.jadira.usertype.dateandtime.joda.PersistentDateTimeWithZone org.jadira.usertype.dateandtime.joda.PersistentDateTimeZoneAsString org.jadira.usertype.dateandtime.joda.PersistentDateTimeZoneWithOffsetAsString org.jadira.usertype.dateandtime.joda.PersistentDurationAsMillisLong org.jadira.usertype.dateandtime.joda.PersistentDurationAsNanosBigInteger org.jadira.usertype.dateandtime.joda.PersistentDurationAsSecondsInteger org.jadira.usertype.dateandtime.joda.PersistentDurationAsString org.jadira.usertype.dateandtime.joda.PersistentInstantAsMillisLong org.jadira.usertype.dateandtime.joda.PersistentInstantAsNanosBigInteger org.jadira.usertype.dateandtime.joda.PersistentInstantAsString org.jadira.usertype.dateandtime.joda.PersistentInstantAsTimestamp org.jadira.usertype.dateandtime.joda.PersistentInterval org.jadira.usertype.dateandtime.joda.PersistentLocalDate org.jadira.usertype.dateandtime.joda.PersistentLocalDateAsString org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime org.jadira.usertype.dateandtime.joda.PersistentLocalDateTimeAsString org.jadira.usertype.dateandtime.joda.PersistentLocalTime org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsMillisInteger org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsNanosLong org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsString org.jadira.usertype.dateandtime.joda.PersistentLocalTimeAsTimestamp org.jadira.usertype.dateandtime.joda.PersistentMinutes org.jadira.usertype.dateandtime.joda.PersistentMonthDayAsString org.jadira.usertype.dateandtime.joda.PersistentPeriodAsString org.jadira.usertype.dateandtime.joda.PersistentTimeOfDay org.jadira.usertype.dateandtime.joda.PersistentTimeOfDayAsMillisInteger org.jadira.usertype.dateandtime.joda.PersistentTimeOfDayAsNanosLong org.jadira.usertype.dateandtime.joda.PersistentTimeOfDayAsString org.jadira.usertype.dateandtime.joda.PersistentTimeOfDayAsTimestamp org.jadira.usertype.dateandtime.joda.PersistentYearMonthAsString org.jadira.usertype.dateandtime.joda.PersistentYearMonthDay org.jadira.usertype.dateandtime.joda.PersistentYearMonthDayAsString org.jadira.usertype.dateandtime.joda.PersistentYears |
None | java.lang org.hibernate.usertype org.jadira.usertype.dateandtime.joda.columnmapper org.jadira.usertype.dateandtime.joda.util org.jadira.usertype.spi.shared org.jadira.usertype.spi.utils.reflection org.joda.time |
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 | org.jadira.usertype.dateandtime.joda.columnmapper.BigIntegerColumnDurationMapper org.jadira.usertype.dateandtime.joda.columnmapper.BigIntegerColumnInstantMapper org.jadira.usertype.dateandtime.joda.columnmapper.DateColumnLocalDateMapper org.jadira.usertype.dateandtime.joda.columnmapper.DateColumnYearMonthDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.IntegerColumnDurationMapper org.jadira.usertype.dateandtime.joda.columnmapper.IntegerColumnLocalTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.IntegerColumnMinutesMapper org.jadira.usertype.dateandtime.joda.columnmapper.IntegerColumnTimeOfDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.IntegerColumnYearsMapper org.jadira.usertype.dateandtime.joda.columnmapper.LongColumnDurationMapper org.jadira.usertype.dateandtime.joda.columnmapper.LongColumnInstantMapper org.jadira.usertype.dateandtime.joda.columnmapper.LongColumnLocalTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.LongColumnTimeOfDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnDateTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnDateTimeZoneMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnDateTimeZoneWithOffsetMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnDurationMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnInstantMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnLocalDateMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnLocalDateTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnLocalTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnMonthDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnPeriodMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnTimeOfDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnYearMonthDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnYearMonthMapper org.jadira.usertype.dateandtime.joda.columnmapper.StringColumnYearsMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimeColumnLocalTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimeColumnTimeOfDayMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimestampColumnDateTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimestampColumnInstantMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimestampColumnLocalDateTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimestampColumnLocalTimeMapper org.jadira.usertype.dateandtime.joda.columnmapper.TimestampColumnTimeOfDayMapper |
org.jadira.usertype.dateandtime.joda |
java.lang java.math java.sql java.util org.hibernate.type org.jadira.usertype.dateandtime.joda.util org.jadira.usertype.spi.shared org.joda.time org.joda.time.chrono org.joda.time.format |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.jadira.usertype.dateandtime.joda.util.DateTimeZoneWithOffset org.jadira.usertype.dateandtime.joda.util.Formatter org.jadira.usertype.dateandtime.joda.util.ZoneHelper |
org.jadira.usertype.dateandtime.joda org.jadira.usertype.dateandtime.joda.columnmapper |
java.io java.lang org.joda.time org.joda.time.format |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.jadira.usertype.dateandtime.legacyjdk.PersistentDate org.jadira.usertype.dateandtime.legacyjdk.PersistentTimestamp |
None | java.lang java.util org.hibernate.usertype org.jadira.usertype.spi.shared |
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 | org.jadira.usertype.dateandtime.legacyjdk.columnmapper.TimestampColumnDateMapper org.jadira.usertype.dateandtime.legacyjdk.columnmapper.TimestampColumnDateMapper$1 org.jadira.usertype.dateandtime.legacyjdk.columnmapper.TimestampColumnTimestampMapper org.jadira.usertype.dateandtime.legacyjdk.columnmapper.TimestampColumnTimestampMapper$1 |
None | java.lang java.sql java.text java.util org.hibernate.type org.jadira.usertype.spi.shared |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 5.0% | 100.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.jadira.usertype.moneyandcurrency.joda.AbstractSingleColumnMoneyUserType |
org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyAmount org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyAmountAndCurrency org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyAmountAndCurrencyAsInteger org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyMajorAmount org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyMajorAmountAndCurrency org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyMajorAmountAndCurrencyAsInteger org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyMinorAmount org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyMinorAmountAndCurrency org.jadira.usertype.moneyandcurrency.joda.PersistentBigMoneyMinorAmountAndCurrencyAsInteger org.jadira.usertype.moneyandcurrency.joda.PersistentCurrencyUnit org.jadira.usertype.moneyandcurrency.joda.PersistentCurrencyUnitAsInteger org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmount org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmountAndCurrency org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmountAndCurrencyAsInteger org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyMajorAmount org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyMajorAmountAndCurrency org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyMajorAmountAndCurrencyAsInteger org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyMinorAmount org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyMinorAmountAndCurrency org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyMinorAmountAndCurrencyAsInteger |
None | java.lang java.math java.util org.hibernate org.hibernate.usertype org.jadira.usertype.moneyandcurrency.joda.columnmapper org.jadira.usertype.moneyandcurrency.joda.util org.jadira.usertype.moneyandcurrency.legacyjdk.columnmapper org.jadira.usertype.spi.shared org.joda.money |
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.jadira.usertype.moneyandcurrency.joda.columnmapper.BigDecimalColumnBigMoneyMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.BigDecimalColumnMoneyMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.IntegerColumnCurrencyUnitMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.LongColumnBigMoneyMajorMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.LongColumnBigMoneyMinorMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.LongColumnMoneyMajorMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.LongColumnMoneyMinorMapper org.jadira.usertype.moneyandcurrency.joda.columnmapper.StringColumnCurrencyUnitMapper |
org.jadira.usertype.moneyandcurrency.joda |
java.lang java.math org.jadira.usertype.moneyandcurrency.joda.util org.jadira.usertype.spi.shared org.joda.money |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 100.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.jadira.usertype.moneyandcurrency.joda.util.CurrencyUnitConfigured |
None | org.jadira.usertype.moneyandcurrency.joda org.jadira.usertype.moneyandcurrency.joda.columnmapper |
java.lang org.joda.money |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 1 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.jadira.usertype.moneyandcurrency.legacyjdk.PersistentCurrency |
None | org.jadira.usertype.spi.shared |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 4 | 0.0% | 80.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.jadira.usertype.moneyandcurrency.legacyjdk.columnmapper.BigDecimalBigDecimalColumnMapper org.jadira.usertype.moneyandcurrency.legacyjdk.columnmapper.LongLongColumnMapper org.jadira.usertype.moneyandcurrency.legacyjdk.columnmapper.StringColumnCurrencyMapper |
org.jadira.usertype.moneyandcurrency.joda |
java.lang java.math java.util org.jadira.usertype.spi.shared |
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. |