From 528f2b6daa7652257c875b6d1c1f9720e91b7e48 Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Thu, 1 Aug 2019 01:36:08 +0200 Subject: [PATCH] feature: remove User interface --- .../kotlin/fr/postgresjson/entity/Entity.kt | 18 ++++++++---------- src/test/kotlin/fr/postgresjson/EntityTest.kt | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/fr/postgresjson/entity/Entity.kt b/src/main/kotlin/fr/postgresjson/entity/Entity.kt index 83778d3..f788517 100644 --- a/src/main/kotlin/fr/postgresjson/entity/Entity.kt +++ b/src/main/kotlin/fr/postgresjson/entity/Entity.kt @@ -47,45 +47,43 @@ class EntityCreatedAtImp: EntityCreatedAt { class EntityUpdatedAtImp: EntityUpdatedAt { override var updatedAt: DateTime? = null } -interface User: EntityI { -} /* Author */ -interface CreatedBy> { +interface CreatedBy> { var createdBy: T? } -interface UpdatedBy> { +interface UpdatedBy> { var updatedBy: T? } -class EntityCreatedByImp>: CreatedBy { +class EntityCreatedByImp>: CreatedBy { override var createdBy: UserT? = null } -class EntityUpdatedByImp>: UpdatedBy { +class EntityUpdatedByImp>: UpdatedBy { override var updatedBy: UserT? = null } /* Published */ -interface Published> { +interface Published> { var publishedAt: DateTime? var publishedBy: UserT? } -class EntityPublishedImp>: Published { +class EntityPublishedImp>: Published { override var publishedAt: DateTime? = null override var publishedBy: UserT? = null } /* Implementation */ -abstract class EntityImp>: Entity(), +abstract class EntityImp>: Entity(), EntityCreatedAt by EntityCreatedAtImp(), EntityUpdatedAt by EntityUpdatedAtImp(), CreatedBy by EntityCreatedByImp(), UpdatedBy by EntityUpdatedByImp() -abstract class EntityExtended>: +abstract class EntityExtended>: EntityImp(), EntityVersioningIncrement by EntityVersioningIncrementImp(), Published by EntityPublishedImp() diff --git a/src/test/kotlin/fr/postgresjson/EntityTest.kt b/src/test/kotlin/fr/postgresjson/EntityTest.kt index 8e0840f..441873e 100644 --- a/src/test/kotlin/fr/postgresjson/EntityTest.kt +++ b/src/test/kotlin/fr/postgresjson/EntityTest.kt @@ -7,7 +7,7 @@ import org.junit.jupiter.api.TestInstance @TestInstance(TestInstance.Lifecycle.PER_CLASS) class EntityTest() { - private class User(override var id: Int?): fr.postgresjson.entity.User + private class User(override var id: Int?): EntityI private class ObjTest(var name: String): EntityExtended() @Test