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

38 lines
1.0 KiB
Java

package eu.eudat.utilities.builders;
import eu.eudat.entities.DataEntity;
import eu.eudat.models.DataModel;
import java.text.ParseException;
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) throws Exception {
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) {
List<U> models = new LinkedList<>();
for(T entity:entities){
U model = null;
try {
model = clazz.newInstance();
model.fromDataModel(entity);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
models.add(model);
}
return models;
}
}