Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.melati.poem | 237 | 204 | 33 | 5 | 13 | 14.0% | 72.0% | 14.0% | 1 |
org.melati.poem.csv | 10 | 10 | 0 | 0 | 4 | 0.0% | 100.0% | 0.0% | 1 |
org.melati.poem.dbms | 25 | 24 | 1 | 1 | 7 | 4.0% | 88.0% | 8.0% | 1 |
org.melati.poem.generated | 78 | 67 | 11 | 1 | 4 | 14.0% | 80.0% | 6.0% | 1 |
org.melati.poem.transaction | 10 | 6 | 4 | 1 | 5 | 40.0% | 83.0% | 23.0% | 1 |
org.melati.poem.util | 32 | 24 | 8 | 3 | 6 | 25.0% | 67.0% | 8.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 13 | 14.0% | 72.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.poem.AccessToken org.melati.poem.AtomPoemType org.melati.poem.BasePoemType org.melati.poem.CachedQuery org.melati.poem.Column org.melati.poem.DBConsistencyPoemException org.melati.poem.Database org.melati.poem.FieldAccessPoemException org.melati.poem.FieldAttributes org.melati.poem.FixedPointAtomPoemType org.melati.poem.Initialiser org.melati.poem.IntegrityFix org.melati.poem.NormalPoemException org.melati.poem.Persistable org.melati.poem.Persistent org.melati.poem.PersistentAccessPoemException org.melati.poem.PersistentReferencePoemType org.melati.poem.PoemDatabaseTables org.melati.poem.PoemException org.melati.poem.PoemLogEvent org.melati.poem.PoemTask org.melati.poem.PoemType org.melati.poem.PoemTypeFactory org.melati.poem.PoemTypeFactory$Parameter org.melati.poem.ResultSetEnumeration org.melati.poem.SQLPoemType org.melati.poem.SQLType org.melati.poem.Selectable org.melati.poem.SizedAtomPoemType org.melati.poem.StandardIntegrityFix org.melati.poem.Table org.melati.poem.TableListener org.melati.poem.Treeable |
org.melati.poem.AccessForbiddenToken org.melati.poem.AccessPoemException org.melati.poem.AccessibleCreationException org.melati.poem.AlreadyInSessionPoemException org.melati.poem.AppBugPoemException org.melati.poem.BaseFieldAttributes org.melati.poem.BigDecimalPoemType org.melati.poem.BinaryLengthValidationPoemException org.melati.poem.BinaryPoemType org.melati.poem.BooleanPoemType org.melati.poem.BooleanPossibleRawEnumeration org.melati.poem.CachedCount org.melati.poem.CachedExists org.melati.poem.CachedSelection org.melati.poem.CachedSelection$1 org.melati.poem.CachedTailoredQuery org.melati.poem.Capability org.melati.poem.CapabilityTable org.melati.poem.Column$1 org.melati.poem.Column$2 org.melati.poem.Column$LoadException org.melati.poem.Column$SettingException org.melati.poem.ColumnInUsePoemException org.melati.poem.ColumnInfo org.melati.poem.ColumnInfoTable org.melati.poem.ColumnRenamePoemException org.melati.poem.ColumnTypePoemType org.melati.poem.ColumnTypePoemType$1 org.melati.poem.CommitFailedPoemException org.melati.poem.CommitLogEvent org.melati.poem.ConnectionPendingException org.melati.poem.CreationAccessPoemException org.melati.poem.Database$1 org.melati.poem.Database$2 org.melati.poem.Database$3 org.melati.poem.Database$4 org.melati.poem.Database$5 org.melati.poem.Database$6 org.melati.poem.Database$7 org.melati.poem.Database$ConnectingException org.melati.poem.Database$UserCapabilityCache org.melati.poem.DatabaseInitialisationPoemException org.melati.poem.DatePoemType org.melati.poem.DefinitionSource org.melati.poem.DeletePersistentAccessPoemException org.melati.poem.DeletedPoemType org.melati.poem.DeletionIntegrityPoemException org.melati.poem.DisplayLevel org.melati.poem.DisplayLevel$NameUnrecognisedException org.melati.poem.DisplayLevelPoemType org.melati.poem.DoubleCreatePoemException org.melati.poem.DoublePoemType org.melati.poem.DuplicateColumnNamePoemException org.melati.poem.DuplicateDeletedColumnPoemException org.melati.poem.DuplicateTableNamePoemException org.melati.poem.DuplicateTroidColumnPoemException org.melati.poem.DuplicateTroidPoemException org.melati.poem.ExecutingSQLPoemException org.melati.poem.ExecutingSQLSeriousPoemException org.melati.poem.ExtraColumn org.melati.poem.Field org.melati.poem.Field$1 org.melati.poem.FieldContentsPoemException org.melati.poem.FieldSet org.melati.poem.Group org.melati.poem.GroupCapability org.melati.poem.GroupCapabilityTable org.melati.poem.GroupMembership org.melati.poem.GroupMembershipTable org.melati.poem.GroupTable org.melati.poem.IndexPoemType org.melati.poem.IndexUniquenessPoemException org.melati.poem.InitialisationPoemException org.melati.poem.IntegerPoemType org.melati.poem.IntegrityFixPoemType org.melati.poem.InvalidOperationOnFloatingPersistentPoemException org.melati.poem.JdbcPersistent org.melati.poem.JdbcPersistent$1 org.melati.poem.JdbcTable org.melati.poem.JdbcTable$1 org.melati.poem.JdbcTable$10 org.melati.poem.JdbcTable$2 org.melati.poem.JdbcTable$3 org.melati.poem.JdbcTable$4 org.melati.poem.JdbcTable$5 org.melati.poem.JdbcTable$6 org.melati.poem.JdbcTable$7 org.melati.poem.JdbcTable$8 org.melati.poem.JdbcTable$9 org.melati.poem.JdbcTable$TransactionStuff org.melati.poem.LongPoemType org.melati.poem.NoAccessTokenPoemException org.melati.poem.NoMoreTransactionsException org.melati.poem.NoSuchColumnPoemException org.melati.poem.NoSuchRowPoemException org.melati.poem.NoSuchTablePoemException org.melati.poem.NoTroidColumnException org.melati.poem.NonRootSetAccessTokenPoemException org.melati.poem.NotComparablePoemException org.melati.poem.NotInSessionPoemException org.melati.poem.NullTypeMismatchPoemException org.melati.poem.OutsideRangePoemException org.melati.poem.ParsingPoemException org.melati.poem.PasswordPoemType org.melati.poem.PersistentFactory org.melati.poem.PoemBugPoemException org.melati.poem.PoemDatabase org.melati.poem.PoemDatabaseFactory org.melati.poem.PoemDatabaseFactory$PoemShutdownThread org.melati.poem.PoemLocale org.melati.poem.PoemTable org.melati.poem.PoemThread org.melati.poem.PoemTransaction org.melati.poem.PoemTypeFactory$1 org.melati.poem.PoemTypeFactory$10 org.melati.poem.PoemTypeFactory$11 org.melati.poem.PoemTypeFactory$12 org.melati.poem.PoemTypeFactory$13 org.melati.poem.PoemTypeFactory$14 org.melati.poem.PoemTypeFactory$15 org.melati.poem.PoemTypeFactory$16 org.melati.poem.PoemTypeFactory$17 org.melati.poem.PoemTypeFactory$18 org.melati.poem.PoemTypeFactory$2 org.melati.poem.PoemTypeFactory$3 org.melati.poem.PoemTypeFactory$4 org.melati.poem.PoemTypeFactory$5 org.melati.poem.PoemTypeFactory$6 org.melati.poem.PoemTypeFactory$7 org.melati.poem.PoemTypeFactory$8 org.melati.poem.PoemTypeFactory$9 org.melati.poem.PreparedSQLSeriousPoemException org.melati.poem.PreparedStatementFactory org.melati.poem.PreparedTailoredQuery org.melati.poem.ReadFieldAccessPoemException org.melati.poem.ReadPasswordAccessPoemException org.melati.poem.ReadPersistentAccessPoemException org.melati.poem.ReconnectionPoemException org.melati.poem.ReferencePoemType org.melati.poem.RestrictedReferencePoemType org.melati.poem.RollbackFailedPoemException org.melati.poem.RollbackLogEvent org.melati.poem.RootAccessToken org.melati.poem.RowDisappearedPoemException org.melati.poem.SQLLogEvent org.melati.poem.SQLPoemException org.melati.poem.SQLSeriousPoemException org.melati.poem.Searchability org.melati.poem.Searchability$NameUnrecognisedException org.melati.poem.SearchabilityPoemType org.melati.poem.SeriousPoemException org.melati.poem.SessionToken org.melati.poem.Setting org.melati.poem.Setting$SettingTypeMismatchException org.melati.poem.Setting$SettingValidationException org.melati.poem.SettingTable org.melati.poem.SettingTable$UnsetException org.melati.poem.SimplePrepareFailedPoemException org.melati.poem.SimpleRetrievalFailedPoemException org.melati.poem.StandardIntegrityFix$1 org.melati.poem.StandardIntegrityFix$2 org.melati.poem.StandardIntegrityFix$3 org.melati.poem.StandardIntegrityFix$NameUnrecognisedException org.melati.poem.StringKeyPoemType org.melati.poem.StringKeyReferencePoemType org.melati.poem.StringKeyReferencePoemType$1 org.melati.poem.StringLengthValidationPoemException org.melati.poem.StringPoemType org.melati.poem.StructuralModificationFailedPoemException org.melati.poem.StructuralModificationLogEvent org.melati.poem.TableCategory org.melati.poem.TableCategoryTable org.melati.poem.TableFactory org.melati.poem.TableFactory$Prop org.melati.poem.TableInUsePoemException org.melati.poem.TableInfo org.melati.poem.TableInfoTable org.melati.poem.TableMap org.melati.poem.TableMismatchPoemException org.melati.poem.TableRenamePoemException org.melati.poem.TableSortedMap org.melati.poem.TailoredQuery org.melati.poem.TailoredQuery$FirstRawTailoredResultSetEnumeration org.melati.poem.TailoredResultSetEnumeration org.melati.poem.TimePoemType org.melati.poem.TimestampPoemType org.melati.poem.TooManyThreadsPoemException org.melati.poem.TroidPoemType org.melati.poem.TypeDefinitionMismatchException org.melati.poem.TypeMismatchPoemException org.melati.poem.UnexpectedExceptionPoemException org.melati.poem.UnexpectedNoSuchRowException org.melati.poem.UnexpectedParsingPoemException org.melati.poem.UnexpectedValidationPoemException org.melati.poem.UnificationPoemException org.melati.poem.UnindexableLogEvent org.melati.poem.User org.melati.poem.UserTable org.melati.poem.ValidationPoemException org.melati.poem.ValueInfo org.melati.poem.ValueInfo$1 org.melati.poem.ValueInfoTable org.melati.poem.WriteFieldAccessPoemException org.melati.poem.WritePersistentAccessPoemException |
org.melati.poem.csv org.melati.poem.dbms org.melati.poem.generated org.melati.poem.transaction org.melati.poem.util |
java.io java.lang java.lang.reflect java.math java.sql java.text java.util java.util.concurrent.locks org.apache.commons.codec.binary org.melati.poem.dbms org.melati.poem.generated org.melati.poem.transaction org.melati.poem.util |
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.melati.poem.csv.CSVColumn org.melati.poem.csv.CSVField org.melati.poem.csv.CSVFileParser org.melati.poem.csv.CSVFilesProcessor org.melati.poem.csv.CSVParseException org.melati.poem.csv.CSVPrimaryKeyColumnAlreadySetException org.melati.poem.csv.CSVRecord org.melati.poem.csv.CSVTable org.melati.poem.csv.CSVWriteDownException org.melati.poem.csv.NoPrimaryKeyInCSVTableException |
None | java.io java.lang java.util org.melati.poem |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 4.0% | 88.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.poem.dbms.Dbms |
org.melati.poem.dbms.AnsiStandard org.melati.poem.dbms.ConnectionFailurePoemException org.melati.poem.dbms.DbmsFactory org.melati.poem.dbms.DebugMckoiConnection org.melati.poem.dbms.DuplicateKeySQLPoemException org.melati.poem.dbms.FirstSQL org.melati.poem.dbms.Hsqldb org.melati.poem.dbms.HsqldbText org.melati.poem.dbms.Interbase org.melati.poem.dbms.MSAccess org.melati.poem.dbms.MSAccess$MSAccessStringPoemType org.melati.poem.dbms.Mckoi org.melati.poem.dbms.Mimer org.melati.poem.dbms.MySQL org.melati.poem.dbms.MySQL$BlobPoemType org.melati.poem.dbms.MySQL$MySQLBooleanPoemType org.melati.poem.dbms.MySQL$MySQLStringPoemType org.melati.poem.dbms.Oracle org.melati.poem.dbms.Oracle$OracleBooleanPoemType org.melati.poem.dbms.Oracle$OracleStringPoemType org.melati.poem.dbms.Postgresql org.melati.poem.dbms.SQLServer org.melati.poem.dbms.SQLServer$SQLServerBooleanPoemType org.melati.poem.dbms.UnsupportedTypePoemException |
org.melati.poem |
java.io java.lang java.math java.sql java.util org.melati.poem org.melati.poem.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 4 | 14.0% | 80.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.poem.generated.CapabilityBase org.melati.poem.generated.ColumnInfoBase org.melati.poem.generated.GroupBase org.melati.poem.generated.GroupCapabilityBase org.melati.poem.generated.GroupMembershipBase org.melati.poem.generated.PoemDatabaseTablesBase org.melati.poem.generated.SettingBase org.melati.poem.generated.TableCategoryBase org.melati.poem.generated.TableInfoBase org.melati.poem.generated.UserBase org.melati.poem.generated.ValueInfoBase |
org.melati.poem.generated.CapabilityTableBase org.melati.poem.generated.CapabilityTableBase$1 org.melati.poem.generated.CapabilityTableBase$2 org.melati.poem.generated.ColumnInfoTableBase org.melati.poem.generated.ColumnInfoTableBase$1 org.melati.poem.generated.ColumnInfoTableBase$10 org.melati.poem.generated.ColumnInfoTableBase$11 org.melati.poem.generated.ColumnInfoTableBase$12 org.melati.poem.generated.ColumnInfoTableBase$2 org.melati.poem.generated.ColumnInfoTableBase$3 org.melati.poem.generated.ColumnInfoTableBase$4 org.melati.poem.generated.ColumnInfoTableBase$5 org.melati.poem.generated.ColumnInfoTableBase$6 org.melati.poem.generated.ColumnInfoTableBase$7 org.melati.poem.generated.ColumnInfoTableBase$8 org.melati.poem.generated.ColumnInfoTableBase$9 org.melati.poem.generated.GroupCapabilityTableBase org.melati.poem.generated.GroupCapabilityTableBase$1 org.melati.poem.generated.GroupCapabilityTableBase$2 org.melati.poem.generated.GroupCapabilityTableBase$3 org.melati.poem.generated.GroupMembershipTableBase org.melati.poem.generated.GroupMembershipTableBase$1 org.melati.poem.generated.GroupMembershipTableBase$2 org.melati.poem.generated.GroupMembershipTableBase$3 org.melati.poem.generated.GroupTableBase org.melati.poem.generated.GroupTableBase$1 org.melati.poem.generated.GroupTableBase$2 org.melati.poem.generated.PoemDatabaseBase org.melati.poem.generated.SettingTableBase org.melati.poem.generated.SettingTableBase$1 org.melati.poem.generated.SettingTableBase$2 org.melati.poem.generated.SettingTableBase$3 org.melati.poem.generated.TableCategoryTableBase org.melati.poem.generated.TableCategoryTableBase$1 org.melati.poem.generated.TableCategoryTableBase$2 org.melati.poem.generated.TableInfoTableBase org.melati.poem.generated.TableInfoTableBase$1 org.melati.poem.generated.TableInfoTableBase$10 org.melati.poem.generated.TableInfoTableBase$11 org.melati.poem.generated.TableInfoTableBase$12 org.melati.poem.generated.TableInfoTableBase$2 org.melati.poem.generated.TableInfoTableBase$3 org.melati.poem.generated.TableInfoTableBase$4 org.melati.poem.generated.TableInfoTableBase$5 org.melati.poem.generated.TableInfoTableBase$6 org.melati.poem.generated.TableInfoTableBase$7 org.melati.poem.generated.TableInfoTableBase$8 org.melati.poem.generated.TableInfoTableBase$9 org.melati.poem.generated.UserTableBase org.melati.poem.generated.UserTableBase$1 org.melati.poem.generated.UserTableBase$2 org.melati.poem.generated.UserTableBase$3 org.melati.poem.generated.UserTableBase$4 org.melati.poem.generated.ValueInfoTableBase org.melati.poem.generated.ValueInfoTableBase$1 org.melati.poem.generated.ValueInfoTableBase$10 org.melati.poem.generated.ValueInfoTableBase$11 org.melati.poem.generated.ValueInfoTableBase$12 org.melati.poem.generated.ValueInfoTableBase$13 org.melati.poem.generated.ValueInfoTableBase$2 org.melati.poem.generated.ValueInfoTableBase$3 org.melati.poem.generated.ValueInfoTableBase$4 org.melati.poem.generated.ValueInfoTableBase$5 org.melati.poem.generated.ValueInfoTableBase$6 org.melati.poem.generated.ValueInfoTableBase$7 org.melati.poem.generated.ValueInfoTableBase$8 org.melati.poem.generated.ValueInfoTableBase$9 |
org.melati.poem |
java.lang java.util org.melati.poem org.melati.poem.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 40.0% | 83.0% | 23.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.poem.transaction.ToTidyList$Closeable org.melati.poem.transaction.Transaction org.melati.poem.transaction.TransactionPool org.melati.poem.transaction.Transactioned |
org.melati.poem.transaction.CrossTransactionCommitException org.melati.poem.transaction.ToTidyList org.melati.poem.transaction.TransactionIndexTooLargeException org.melati.poem.transaction.TransactionedSerial org.melati.poem.transaction.WouldDeadlockException org.melati.poem.transaction.WriteCommittedException |
org.melati.poem |
java.io java.lang java.sql java.util org.melati.poem |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 6 | 25.0% | 67.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.poem.util.Cache$Node org.melati.poem.util.CachedIndexFactory org.melati.poem.util.FilteredEnumeration org.melati.poem.util.IndexFactory org.melati.poem.util.MappedEnumeration org.melati.poem.util.Order org.melati.poem.util.Procedure org.melati.poem.util.SkipEnumeration |
org.melati.poem.util.ArrayEnumeration org.melati.poem.util.ArrayUtils org.melati.poem.util.Cache org.melati.poem.util.Cache$1 org.melati.poem.util.Cache$DroppedNode org.melati.poem.util.Cache$HeldNode org.melati.poem.util.Cache$InconsistencyException org.melati.poem.util.Cache$Info org.melati.poem.util.Cache$Info$1 org.melati.poem.util.Cache$Info$2 org.melati.poem.util.Cache$Info$3 org.melati.poem.util.Cache$Info$4 org.melati.poem.util.CacheDuplicationException org.melati.poem.util.ClassUtils org.melati.poem.util.ConsEnumeration org.melati.poem.util.DictionaryOrder org.melati.poem.util.EmptyEnumeration org.melati.poem.util.EnumUtils org.melati.poem.util.FlattenedEnumeration org.melati.poem.util.IntegerEnumeration org.melati.poem.util.LimitedEnumeration org.melati.poem.util.LongEnumeration org.melati.poem.util.SortUtils org.melati.poem.util.StringUtils |
org.melati.poem org.melati.poem.dbms org.melati.poem.generated |
java.io java.lang java.lang.ref java.lang.reflect java.util org.melati.poem |
Package | Package Dependencies |
---|---|
org.melati.poem | org.melati.poem.dbms org.melati.poem |
org.melati.poem.csv | org.melati.poem org.melati.poem.dbms org.melati.poem |
org.melati.poem.dbms | org.melati.poem org.melati.poem.dbms |
org.melati.poem.generated | org.melati.poem org.melati.poem.dbms org.melati.poem |
org.melati.poem.transaction | org.melati.poem org.melati.poem.dbms org.melati.poem |
org.melati.poem.util | org.melati.poem org.melati.poem.dbms org.melati.poem |
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. |