argos/dmp-backend/src/main/java/eu/eudat/utilities/builders/DomainModelConverter.java

31 lines
860 B
Java

package eu.eudat.utilities.builders;
/**
* Created by ikalyvas on 12/15/2017.
*/
import eu.eudat.entities.DataEntity;
import eu.eudat.models.DataModel;
import java.util.List;
import java.util.LinkedList;
public class DomainModelConverter<T extends DataEntity,U extends DataModel<T>> {
public List<T> toDataModel(List<U> models){
List<T> entities = new LinkedList<>();
for(U model : models){
entities.add(model.toDataModel());
}
return entities;
}
public List<U> fromDataModel(List<T> entities,Class<U> clazz) throws IllegalAccessException, InstantiationException {
List<U> models = new LinkedList<>();
for(T entity:entities){
U model = clazz.newInstance();
model.fromDataModel(entity);
models.add(model);
}
return models;
}
}