package com.ushahidi.platform.mobile.app.data.entity.mapper;
import com.ushahidi.platform.mobile.app.data.entity.FormStageEntity;
import com.ushahidi.platform.mobile.app.domain.entity.FormStage;
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 FormStageEntityDataMapper {
/**
* Default constructor
*/
@Inject
public FormStageEntityDataMapper() {
// Do nothing
}
/**
* Maps {@link FormStageEntity} to {@link FormStage}
*
* @param formStageEntity The form entity to be mapped
* @return The mapped form entity
*/
@Nullable
public FormStage map(FormStageEntity formStageEntity) {
FormStage formStage = null;
if (formStageEntity != null) {
formStage = new FormStage();
formStage._id = formStageEntity._id;
formStage.setPriority(formStageEntity.getPriority());
formStage.setDeploymentId(formStageEntity.getDeploymentId());
formStage.setFormId(formStageEntity.getFormId());
formStage.setRequired(formStageEntity.getRequired());
formStage.setLabel(formStageEntity.getLabel());
}
return formStage;
}
/**
* Maps {@link FormStage} to {@link FormStageEntity}
*
* @param formStage The form to be mapped
* @return The mapped form
*/
@Nullable
public FormStageEntity map(FormStage formStage) {
FormStageEntity formStageEntity = null;
if (formStage != null) {
formStageEntity = new FormStageEntity();
formStageEntity._id = formStage._id;
formStageEntity.setPriority(formStage.getPriority());
formStageEntity.setDeploymentId(formStage.getDeploymentId());
formStageEntity.setFormId(formStage.getFormId());
formStageEntity.setRequired(formStage.getRequired());
formStageEntity.setLabel(formStage.getLabel());
}
return formStageEntity;
}
/**
* Maps a list of {@link FormStageEntity} to a list of {@link FormStage}
*
* @param formStageEntityList The form entity list
* @return The mapped form entity list
*/
@Nullable
public List<FormStage> map(List<FormStageEntity> formStageEntityList) {
List<FormStage> formStageList = null;
if (formStageEntityList != null) {
formStageList = new ArrayList<>();
for (FormStageEntity formStageEntity : formStageEntityList) {
FormStage formStage = map(formStageEntity);
formStageList.add(formStage);
}
}
return formStageList;
}
}