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);
}