All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.comhix.database.dao.BaseDao.kt Maven / Gradle / Ivy

package de.comhix.database.dao

import de.comhix.database.objects.DatabaseObject
import org.mongodb.morphia.Datastore
import javax.inject.Inject

/**
 * @author Benjamin Beeker
 */
class BaseDao @Inject constructor(private val datastore: Datastore) : SimpleDao {
    override suspend fun  get(id: String, typeClass: Class): Type? {
        return datastore.get(typeClass, id)
    }

    override suspend fun  save(instance: Type): Type {
        val key = datastore.save(instance)
        return datastore.getByKey(instance::class.java as Class, key)
    }

    override suspend fun  delete(id: String, typeClass: Class) {
        datastore.delete(typeClass, id)
    }

    override suspend fun  query(typeClass: Class): Query {
        return Query(typeClass, datastore)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy