package com.ushahidi.platform.mobile.app.data.repository.datasource.formattribute; import com.ushahidi.platform.mobile.app.data.api.FormAttributeApi; import com.ushahidi.platform.mobile.app.data.api.oauth.UshAccessTokenManager; import com.ushahidi.platform.mobile.app.data.database.FormAttributeDatabaseHelper; import android.support.annotation.NonNull; import javax.inject.Inject; /** * @author Ushahidi Team <team@ushahidi.com> */ public class FormAttributeDataSourceFactory { private final FormAttributeDatabaseHelper mFormAttributeDatabaseHelper; private final UshAccessTokenManager mUshAccessTokenManager; /** * Default constructor that constructs {@link FormAttributeDataSourceFactory} * * @param formAttributeDatabaseHelper The form database helper */ @Inject FormAttributeDataSourceFactory( @NonNull FormAttributeDatabaseHelper formAttributeDatabaseHelper, @NonNull UshAccessTokenManager ushAccessTokenManager) { mFormAttributeDatabaseHelper = formAttributeDatabaseHelper; mUshAccessTokenManager = ushAccessTokenManager; } /** * Creates {@link FormAttributeDatabaseDataSource} * * @return The form database source */ public FormAttributeDataSource createDatabaseDataSource() { return new FormAttributeDatabaseDataSource(mFormAttributeDatabaseHelper); } public FormAttributeDataSource createApiDataSource() { FormAttributeApi formAttributeApi = new FormAttributeApi(mUshAccessTokenManager); return new FormAttributeApiDataSource(formAttributeApi, mFormAttributeDatabaseHelper); } }