package com.ushahidi.platform.mobile.app.presentation.model.mapper; import com.ushahidi.platform.mobile.app.domain.entity.FormStage; import com.ushahidi.platform.mobile.app.presentation.model.FormStageModel; import android.support.annotation.Nullable; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; /** * @author Ushahidi Team <team@ushahidi.com> */ public class FormStageModelDataMapper { /** * Default constructor */ @Inject public FormStageModelDataMapper() { // Do nothing } /** * Maps {@link FormStageModel} to {@link FormStage} * * @param formStageModel The form entity to be mapped * @return The mapped form entity */ @Nullable public FormStage map(FormStageModel formStageModel) { FormStage formStage = null; if (formStageModel != null) { formStage = new FormStage(); formStage._id = formStageModel._id; formStage.setPriority(formStageModel.getPriority()); formStage.setDeploymentId(formStageModel.getDeploymentId()); formStage.setFormId(formStageModel.getFormId()); formStage.setRequired(formStageModel.getRequired()); formStage.setLabel(formStageModel.getLabel()); } return formStage; } /** * Maps {@link FormStage} to {@link FormStageModel} * * @param formStage The form to be mapped * @return The mapped form */ @Nullable public FormStageModel map(FormStage formStage) { FormStageModel formStageModel = null; if (formStage != null) { formStageModel = new FormStageModel(); formStageModel._id = formStage._id; formStageModel.setPriority(formStage.getPriority()); formStageModel.setDeploymentId(formStage.getDeploymentId()); formStageModel.setFormId(formStage.getFormId()); formStageModel.setRequired(formStage.getRequired()); formStageModel.setLabel(formStage.getLabel()); } return formStageModel; } /** * Maps a list of {@link FormStageModel} to a list of {@link FormStage} * * @param formStageList The form entity list * @return The mapped form entity list */ @Nullable public List<FormStageModel> map(List<FormStage> formStageList) { List<FormStageModel> formStageModelList = null; if (formStageList != null) { formStageModelList = new ArrayList<>(); for (FormStage formStage : formStageList) { FormStageModel formStageModel = map(formStage); formStageModelList.add(formStageModel); } } return formStageModelList; } }