2 Commits
1.1.1 ... 1.2.1

2 changed files with 11 additions and 7 deletions

View File

@@ -17,7 +17,7 @@ interface UuidEntityI : EntityRefI<UUID> {
} }
abstract class Entity<T>(override val id: T) : EntityRefI<T> abstract class Entity<T>(override val id: T) : EntityRefI<T>
open class UuidEntity(override val id: UUID = UUID.randomUUID()) : UuidEntityI, Entity<UUID>(id) open class UuidEntity(id: UUID? = null) : UuidEntityI, Entity<UUID>(id ?: UUID.randomUUID())
/* Version */ /* Version */
interface EntityVersioning<ID, NUMBER> { interface EntityVersioning<ID, NUMBER> {
@@ -26,9 +26,11 @@ interface EntityVersioning<ID, NUMBER> {
} }
class UuidEntityVersioning( class UuidEntityVersioning(
override var versionNumber: Int? = null, override val versionNumber: Int,
override val versionId: UUID = UUID.randomUUID() versionId: UUID? = null
) : EntityVersioning<UUID, Int?> ) : EntityVersioning<UUID, Int> {
override val versionId: UUID = versionId ?: UUID.randomUUID()
}
/* Dates */ /* Dates */
interface EntityCreatedAt { interface EntityCreatedAt {

View File

@@ -17,7 +17,7 @@ interface IdEntityI : EntityRefI<Int> {
} }
abstract class Entity<T>(override var id: T? = null) : EntityRefI<T> abstract class Entity<T>(override var id: T? = null) : EntityRefI<T>
open class UuidEntity(override var id: UUID? = UUID.randomUUID()) : UuidEntityI, Entity<UUID>(id) open class UuidEntity(id: UUID? = null) : UuidEntityI, Entity<UUID>(id ?: UUID.randomUUID())
open class IdEntity(override var id: Int? = null) : IdEntityI, Entity<Int>(id) open class IdEntity(override var id: Int? = null) : IdEntityI, Entity<Int>(id)
/* Version */ /* Version */
@@ -28,8 +28,10 @@ interface EntityVersioning<ID, NUMBER> {
class UuidEntityVersioning( class UuidEntityVersioning(
override var versionNumber: Int? = null, override var versionNumber: Int? = null,
override var versionId: UUID = UUID.randomUUID() versionId: UUID? = null
) : EntityVersioning<UUID, Int> ) : EntityVersioning<UUID, Int> {
override var versionId: UUID = versionId ?: UUID.randomUUID()
}
/* Dates */ /* Dates */
interface EntityCreatedAt { interface EntityCreatedAt {