package com.doumee.lib_coremodel.config;
import android.content.Context;
import androidx.room.RoomDatabase;
import com.doumee.lib_coremodel.di.module.ConfigModule;
import com.doumee.lib_coremodel.http.InterceptorConfig;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
/**
* 为框架提供一些配置参数入口
* @see Glide
* @author Jenly
*/
public interface AppliesOptions {
/**
* 为框架提供一些配置参数入口
* @param context
* @param builder
*/
void applyOptions(Context context, ConfigModule.Builder builder);
/**
* 为框架中的{@link Retrofit}提供配置参数入口
*/
interface RetrofitOptions{
void applyOptions(Retrofit.Builder builder);
}
/**
* 为框架中的{@link OkHttpClient}提供配置参数入口
*/
interface OkHttpClientOptions{
void applyOptions(OkHttpClient.Builder builder);
}
/**
* 为框架中的{@link Gson}提供配置参数入口
*/
interface GsonOptions{
void applyOptions(GsonBuilder builder);
}
/**
* 为框架中的{@link InterceptorConfig}提供配置参数入口
*/
interface InterceptorConfigOptions{
void applyOptions(InterceptorConfig.Builder builder);
}
/**
* 为框架中的{@link Gson}提供配置参数入口
*/
interface RoomDatabaseOptions{
void applyOptions(RoomDatabase.Builder builder);
}
}