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

38 lines
1.0 KiB
Java
Raw Normal View History

2017-12-15 11:05:51 +01:00
package eu.eudat.utilities.builders;
2018-02-01 10:08:06 +01:00
2017-12-15 11:05:51 +01:00
import eu.eudat.entities.DataEntity;
import eu.eudat.models.DataModel;
2018-01-17 13:03:51 +01:00
import java.text.ParseException;
2017-12-15 11:05:51 +01:00
import java.util.List;
import java.util.LinkedList;
public class DomainModelConverter<T extends DataEntity,U extends DataModel<T>> {
2018-01-17 13:03:51 +01:00
public List<T> toDataModel(List<U> models) throws Exception {
2017-12-15 11:05:51 +01:00
List<T> entities = new LinkedList<>();
for(U model : models){
entities.add(model.toDataModel());
}
return entities;
}
2018-02-07 10:56:30 +01:00
public List<U> fromDataModel(List<T> entities,Class<U> clazz) {
2017-12-15 11:05:51 +01:00
List<U> models = new LinkedList<>();
for(T entity:entities){
2018-02-07 10:56:30 +01:00
U model = null;
try {
model = clazz.newInstance();
model.fromDataModel(entity);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
2017-12-15 11:05:51 +01:00
models.add(model);
}
return models;
}
}