package com.doumee.lib_coremodel.data;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.room.Room;
import androidx.room.RoomDatabase;
/**
* 统一管理数据业务层,实现类见{@link DataRepository}
* @author Jenly
*/
public interface IDataRepository {
/**
* 提供上下文{@link Context}
* @return {@lik Context}
*/
Context getContext();
/**
* 传入Class 通过{@link retrofit2.Retrofit#create(Class)} 获得对应的Class
* @param service
* @param
* @return {@link retrofit2.Retrofit#create(Class)}
*/
T getRetrofitService(@NonNull Class service);
/**
* 传入Class 通过{@link Room#databaseBuilder},{@link RoomDatabase.Builder#build()}获得对应的Class
* @param database
* @param dbName
* @param
* @return {@link RoomDatabase.Builder#build()}
*/
T getRoomDatabase(@NonNull Class database, @Nullable String dbName);
}