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