38 lines
1.0 KiB
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;
|
|
}
|
|
}
|