![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.com.harmony.kotlin.data.repository.SingleDataSourceRepository.kt Maven / Gradle / Ivy
package com.harmony.kotlin.data.repository
import com.harmony.kotlin.data.datasource.DeleteDataSource
import com.harmony.kotlin.data.datasource.GetDataSource
import com.harmony.kotlin.data.datasource.PutDataSource
import com.harmony.kotlin.data.operation.Operation
import com.harmony.kotlin.data.query.Query
class SingleDataSourceRepository(
private val getDataSource: GetDataSource,
private val putDataSource: PutDataSource,
private val deleteDataSource: DeleteDataSource
) : GetRepository, PutRepository, DeleteRepository {
override suspend fun get(query: Query, operation: Operation): T = getDataSource.get(query)
@Deprecated("Use get instead")
override suspend fun getAll(query: Query, operation: Operation): List = getDataSource.getAll(query)
override suspend fun put(query: Query, value: T?, operation: Operation): T = putDataSource.put(query, value)
@Deprecated("Use put instead")
override suspend fun putAll(query: Query, value: List?, operation: Operation): List = putDataSource.putAll(query, value)
override suspend fun delete(query: Query, operation: Operation) = deleteDataSource.delete(query)
}
class SingleGetDataSourceRepository(private val getDataSource: GetDataSource) : GetRepository {
override suspend fun get(query: Query, operation: Operation): T = getDataSource.get(query)
@Deprecated("Use get instead")
override suspend fun getAll(query: Query, operation: Operation): List = getDataSource.getAll(query)
}
class SinglePutDataSourceRepository(private val putDataSource: PutDataSource) : PutRepository {
override suspend fun put(query: Query, value: T?, operation: Operation): T = putDataSource.put(query, value)
@Deprecated("Use put instead")
override suspend fun putAll(query: Query, value: List?, operation: Operation): List = putDataSource.putAll(query, value)
}
class SingleDeleteDataSourceRepository(private val deleteDataSource: DeleteDataSource) : DeleteRepository {
override suspend fun delete(query: Query, operation: Operation) = deleteDataSource.delete(query)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy