package utilities.builders; import java.util.LinkedList; import java.util.List; import entities.xmlmodels.modeldefinition.DatabaseModelDefinition; import entities.xmlmodels.viewstyledefinition.DatabaseViewStyleDefinition; import models.components.commons.datafield.CheckBoxData; import models.components.commons.datafield.ComboBoxData; import models.components.commons.datafield.FieldData; import models.components.commons.datafield.RadioBoxData; import utilities.ModelDefinition; import utilities.ViewStyleDefinition; public class ModelBuilder { public ,T extends DatabaseModelDefinition> List toModelDefinition(List items,Class clazz){ List list = new LinkedList(); for(U item : items){ try { list.add(item.toDatabaseDefinition(clazz.newInstance())); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return list; } public ,T extends DatabaseViewStyleDefinition> List toViewStyleDefinition(List items,Class clazz){ List list = new LinkedList(); for(U item : items){ try { list.add(item.toDatabaseDefinition(clazz.newInstance())); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return list; } public ,T extends DatabaseViewStyleDefinition> List fromViewStyleDefinition(List items,Class clazz){ List list = new LinkedList(); for(T item : items){ try { U modelItem = clazz.newInstance(); modelItem.fromDatabaseDefinition(item); list.add(modelItem); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return list; } public > U toFieldData(Object data,String type){ if(type.equals("combobox")) return (U) new ComboBoxData().fromData(data); if(type.equals("booleanDecision"))return null; if(type.equals("radiobox"))return (U) new RadioBoxData().fromData(data); if(type.equals("checkBox"))return (U) new CheckBoxData().fromData(data); if(type.equals("freetext"))return null; return null; } }