package edu.ualberta.med.biobank.common.peer; import edu.ualberta.med.biobank.common.util.TypeReference; import java.util.Collections; import edu.ualberta.med.biobank.common.wrappers.Property; import java.util.List; import java.util.ArrayList; import edu.ualberta.med.biobank.model.ReportColumn; import edu.ualberta.med.biobank.model.Entity; import edu.ualberta.med.biobank.model.ReportFilter; import java.util.Collection; import edu.ualberta.med.biobank.model.Report; public class ReportPeer { public static final Property<Integer, Report> ID = Property.create( "id" //$NON-NLS-1$ , Report.class , new TypeReference<Integer>() {} , new Property.Accessor<Integer, Report>() { private static final long serialVersionUID = 1L; @Override public Integer get(Report model) { return model.getId(); } @Override public void set(Report model, Integer value) { model.setId(value); } }); public static final Property<Boolean, Report> IS_COUNT = Property.create( "isCount" //$NON-NLS-1$ , Report.class , new TypeReference<Boolean>() {} , new Property.Accessor<Boolean, Report>() { private static final long serialVersionUID = 1L; @Override public Boolean get(Report model) { return model.getIsCount(); } @Override public void set(Report model, Boolean value) { model.setIsCount(value); } }); public static final Property<String, Report> DESCRIPTION = Property.create( "description" //$NON-NLS-1$ , Report.class , new TypeReference<String>() {} , new Property.Accessor<String, Report>() { private static final long serialVersionUID = 1L; @Override public String get(Report model) { return model.getDescription(); } @Override public void set(Report model, String value) { model.setDescription(value); } }); public static final Property<Integer, Report> USER_ID = Property.create( "userId" //$NON-NLS-1$ , Report.class , new TypeReference<Integer>() {} , new Property.Accessor<Integer, Report>() { private static final long serialVersionUID = 1L; @Override public Integer get(Report model) { return model.getUserId(); } @Override public void set(Report model, Integer value) { model.setUserId(value); } }); public static final Property<String, Report> NAME = Property.create( "name" //$NON-NLS-1$ , Report.class , new TypeReference<String>() {} , new Property.Accessor<String, Report>() { private static final long serialVersionUID = 1L; @Override public String get(Report model) { return model.getName(); } @Override public void set(Report model, String value) { model.setName(value); } }); public static final Property<Boolean, Report> IS_PUBLIC = Property.create( "isPublic" //$NON-NLS-1$ , Report.class , new TypeReference<Boolean>() {} , new Property.Accessor<Boolean, Report>() { private static final long serialVersionUID = 1L; @Override public Boolean get(Report model) { return model.getIsPublic(); } @Override public void set(Report model, Boolean value) { model.setIsPublic(value); } }); public static final Property<Collection<ReportColumn>, Report> REPORT_COLUMNS = Property.create( "reportColumns" //$NON-NLS-1$ , Report.class , new TypeReference<Collection<ReportColumn>>() {} , new Property.Accessor<Collection<ReportColumn>, Report>() { private static final long serialVersionUID = 1L; @Override public Collection<ReportColumn> get(Report model) { return model.getReportColumns(); } @Override public void set(Report model, Collection<ReportColumn> value) { model.getReportColumns().clear(); model.getReportColumns().addAll(value); } }); public static final Property<Entity, Report> ENTITY = Property.create( "entity" //$NON-NLS-1$ , Report.class , new TypeReference<Entity>() {} , new Property.Accessor<Entity, Report>() { private static final long serialVersionUID = 1L; @Override public Entity get(Report model) { return model.getEntity(); } @Override public void set(Report model, Entity value) { model.setEntity(value); } }); public static final Property<Collection<ReportFilter>, Report> REPORT_FILTERS = Property.create( "reportFilters" //$NON-NLS-1$ , Report.class , new TypeReference<Collection<ReportFilter>>() {} , new Property.Accessor<Collection<ReportFilter>, Report>() { private static final long serialVersionUID = 1L; @Override public Collection<ReportFilter> get(Report model) { return model.getReportFilters(); } @Override public void set(Report model, Collection<ReportFilter> value) { model.getReportFilters().clear(); model.getReportFilters().addAll(value); } }); public static final List<Property<?, ? super Report>> PROPERTIES; static { List<Property<?, ? super Report>> aList = new ArrayList<Property<?, ? super Report>>(); aList.add(ID); aList.add(IS_COUNT); aList.add(DESCRIPTION); aList.add(USER_ID); aList.add(NAME); aList.add(IS_PUBLIC); aList.add(REPORT_COLUMNS); aList.add(ENTITY); aList.add(REPORT_FILTERS); PROPERTIES = Collections.unmodifiableList(aList); }; }