clean repository

This commit is contained in:
2019-07-30 17:06:19 +02:00
parent 2e65045f21
commit e819e1d027

View File

@@ -1,30 +1,13 @@
package fr.postgresjson.repository
import fr.postgresjson.connexion.Requester
import fr.postgresjson.entity.EntitiesCollections
import fr.postgresjson.entity.EntityI
import fr.postgresjson.serializer.Serializer
import jdk.jfr.Experimental
import kotlin.reflect.KClass
interface RepositoryI<T, E: EntityI<T?>> {
interface RepositoryI<E: EntityI<*>> {
val entityName: KClass<E>
}
@Experimental
abstract class Repository<T, E: EntityI<T?>>(override val entityName: KClass<E>): RepositoryI<T, E> {
abstract var requester: Requester
abstract fun getClassName(): String
fun <T> findById(id: T): EntityI<T?>? {
val sql = requester.getQuery(entityName.toString())
return when (val e = EntitiesCollections().get(id)) {
null -> {
// TODO create Request
Serializer().deserialize<T, EntityI<T?>>("""{"plop", "plip"}""")
}
else -> e
}
var requester: Requester
fun getClassName(): String {
return entityName.simpleName!!
}
}