| 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 <a href="https://github.com/bumptech/glide/blob/f7d860412f061e059aa84a42f2563a01ac8c303b/library/src/main/java/com/bumptech/glide/module/AppliesOptions.java">Glide</a> | 
|  * @author <a href="mailto:jenly1314@gmail.com">Jenly</a> | 
|  */ | 
| 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<T extends RoomDatabase>{ | 
|         void applyOptions(RoomDatabase.Builder<T> builder); | 
|     } | 
|   | 
| } |