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 java.util.Date; import edu.ualberta.med.biobank.model.Center; import edu.ualberta.med.biobank.model.Comment; import edu.ualberta.med.biobank.model.ActivityStatus; import edu.ualberta.med.biobank.model.Specimen; import java.util.Collection; import edu.ualberta.med.biobank.model.ProcessingEvent; public class ProcessingEventPeer { public static final Property<Integer, ProcessingEvent> ID = Property.create( "id" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<Integer>() {} , new Property.Accessor<Integer, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public Integer get(ProcessingEvent model) { return model.getId(); } @Override public void set(ProcessingEvent model, Integer value) { model.setId(value); } }); public static final Property<Date, ProcessingEvent> CREATED_AT = Property.create( "createdAt" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<Date>() {} , new Property.Accessor<Date, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public Date get(ProcessingEvent model) { return model.getCreatedAt(); } @Override public void set(ProcessingEvent model, Date value) { model.setCreatedAt(value); } }); public static final Property<String, ProcessingEvent> WORKSHEET = Property.create( "worksheet" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<String>() {} , new Property.Accessor<String, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public String get(ProcessingEvent model) { return model.getWorksheet(); } @Override public void set(ProcessingEvent model, String value) { model.setWorksheet(value); } }); public static final Property<Center, ProcessingEvent> CENTER = Property.create( "center" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<Center>() {} , new Property.Accessor<Center, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public Center get(ProcessingEvent model) { return model.getCenter(); } @Override public void set(ProcessingEvent model, Center value) { model.setCenter(value); } }); public static final Property<Collection<Comment>, ProcessingEvent> COMMENTS = Property.create( "comments" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<Collection<Comment>>() {} , new Property.Accessor<Collection<Comment>, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public Collection<Comment> get(ProcessingEvent model) { return model.getComments(); } @Override public void set(ProcessingEvent model, Collection<Comment> value) { model.getComments().clear(); model.getComments().addAll(value); } }); public static final Property<ActivityStatus, ProcessingEvent> ACTIVITY_STATUS = Property.create( "activityStatus" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<ActivityStatus>() {} , new Property.Accessor<ActivityStatus, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public ActivityStatus get(ProcessingEvent model) { return model.getActivityStatus(); } @Override public void set(ProcessingEvent model, ActivityStatus value) { model.setActivityStatus(value); } }); public static final Property<Collection<Specimen>, ProcessingEvent> SPECIMENS = Property.create( "specimens" //$NON-NLS-1$ , ProcessingEvent.class , new TypeReference<Collection<Specimen>>() {} , new Property.Accessor<Collection<Specimen>, ProcessingEvent>() { private static final long serialVersionUID = 1L; @Override public Collection<Specimen> get(ProcessingEvent model) { return model.getSpecimens(); } @Override public void set(ProcessingEvent model, Collection<Specimen> value) { model.getSpecimens().clear(); model.getSpecimens().addAll(value); } }); public static final List<Property<?, ? super ProcessingEvent>> PROPERTIES; static { List<Property<?, ? super ProcessingEvent>> aList = new ArrayList<Property<?, ? super ProcessingEvent>>(); aList.add(ID); aList.add(CREATED_AT); aList.add(WORKSHEET); aList.add(CENTER); aList.add(COMMENTS); aList.add(ACTIVITY_STATUS); aList.add(SPECIMENS); PROPERTIES = Collections.unmodifiableList(aList); }; }