package edu.ualberta.med.biobank.common.peer; import edu.ualberta.med.biobank.common.util.TypeReference; import java.math.BigDecimal; 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.ProcessingEvent; import edu.ualberta.med.biobank.model.Comment; import edu.ualberta.med.biobank.model.OriginInfo; import edu.ualberta.med.biobank.model.Specimen; import edu.ualberta.med.biobank.model.CollectionEvent; import edu.ualberta.med.biobank.model.DispatchSpecimen; import edu.ualberta.med.biobank.model.Center; import edu.ualberta.med.biobank.model.SpecimenPosition; import edu.ualberta.med.biobank.model.ActivityStatus; import edu.ualberta.med.biobank.model.RequestSpecimen; import edu.ualberta.med.biobank.model.SpecimenType; import java.util.Collection; public class SpecimenPeer { public static final Property<Integer, Specimen> ID = Property.create( "id" //$NON-NLS-1$ , Specimen.class , new TypeReference<Integer>() {} , new Property.Accessor<Integer, Specimen>() { private static final long serialVersionUID = 1L; @Override public Integer get(Specimen model) { return model.getId(); } @Override public void set(Specimen model, Integer value) { model.setId(value); } }); public static final Property<Date, Specimen> CREATED_AT = Property.create( "createdAt" //$NON-NLS-1$ , Specimen.class , new TypeReference<Date>() {} , new Property.Accessor<Date, Specimen>() { private static final long serialVersionUID = 1L; @Override public Date get(Specimen model) { return model.getCreatedAt(); } @Override public void set(Specimen model, Date value) { model.setCreatedAt(value); } }); public static final Property<String, Specimen> INVENTORY_ID = Property.create( "inventoryId" //$NON-NLS-1$ , Specimen.class , new TypeReference<String>() {} , new Property.Accessor<String, Specimen>() { private static final long serialVersionUID = 1L; @Override public String get(Specimen model) { return model.getInventoryId(); } @Override public void set(Specimen model, String value) { model.setInventoryId(value); } }); public static final Property<BigDecimal, Specimen> QUANTITY = Property.create( "quantity" //$NON-NLS-1$ , Specimen.class , new TypeReference<BigDecimal>() {} , new Property.Accessor<BigDecimal, Specimen>() { private static final long serialVersionUID = 1L; @Override public BigDecimal get(Specimen model) { return model.getQuantity(); } @Override public void set(Specimen model, BigDecimal value) { model.setQuantity(value); } }); public static final Property<ProcessingEvent, Specimen> PROCESSING_EVENT = Property.create( "processingEvent" //$NON-NLS-1$ , Specimen.class , new TypeReference<ProcessingEvent>() {} , new Property.Accessor<ProcessingEvent, Specimen>() { private static final long serialVersionUID = 1L; @Override public ProcessingEvent get(Specimen model) { return model.getProcessingEvent(); } @Override public void set(Specimen model, ProcessingEvent value) { model.setProcessingEvent(value); } }); public static final Property<Collection<Comment>, Specimen> COMMENTS = Property.create( "comments" //$NON-NLS-1$ , Specimen.class , new TypeReference<Collection<Comment>>() {} , new Property.Accessor<Collection<Comment>, Specimen>() { private static final long serialVersionUID = 1L; @Override public Collection<Comment> get(Specimen model) { return model.getComments(); } @Override public void set(Specimen model, Collection<Comment> value) { model.getComments().clear(); model.getComments().addAll(value); } }); public static final Property<OriginInfo, Specimen> ORIGIN_INFO = Property.create( "originInfo" //$NON-NLS-1$ , Specimen.class , new TypeReference<OriginInfo>() {} , new Property.Accessor<OriginInfo, Specimen>() { private static final long serialVersionUID = 1L; @Override public OriginInfo get(Specimen model) { return model.getOriginInfo(); } @Override public void set(Specimen model, OriginInfo value) { model.setOriginInfo(value); } }); public static final Property<Specimen, Specimen> TOP_SPECIMEN = Property.create( "topSpecimen" //$NON-NLS-1$ , Specimen.class , new TypeReference<Specimen>() {} , new Property.Accessor<Specimen, Specimen>() { private static final long serialVersionUID = 1L; @Override public Specimen get(Specimen model) { return model.getTopSpecimen(); } @Override public void set(Specimen model, Specimen value) { model.setTopSpecimen(value); } }); public static final Property<CollectionEvent, Specimen> COLLECTION_EVENT = Property.create( "collectionEvent" //$NON-NLS-1$ , Specimen.class , new TypeReference<CollectionEvent>() {} , new Property.Accessor<CollectionEvent, Specimen>() { private static final long serialVersionUID = 1L; @Override public CollectionEvent get(Specimen model) { return model.getCollectionEvent(); } @Override public void set(Specimen model, CollectionEvent value) { model.setCollectionEvent(value); } }); public static final Property<CollectionEvent, Specimen> ORIGINAL_COLLECTION_EVENT = Property.create( "originalCollectionEvent" //$NON-NLS-1$ , Specimen.class , new TypeReference<CollectionEvent>() {} , new Property.Accessor<CollectionEvent, Specimen>() { private static final long serialVersionUID = 1L; @Override public CollectionEvent get(Specimen model) { return model.getOriginalCollectionEvent(); } @Override public void set(Specimen model, CollectionEvent value) { model.setOriginalCollectionEvent(value); } }); public static final Property<Specimen, Specimen> PARENT_SPECIMEN = Property.create( "parentSpecimen" //$NON-NLS-1$ , Specimen.class , new TypeReference<Specimen>() {} , new Property.Accessor<Specimen, Specimen>() { private static final long serialVersionUID = 1L; @Override public Specimen get(Specimen model) { return model.getParentSpecimen(); } @Override public void set(Specimen model, Specimen value) { model.setParentSpecimen(value); } }); public static final Property<Collection<Specimen>, Specimen> CHILD_SPECIMENS = Property.create( "childSpecimens" //$NON-NLS-1$ , Specimen.class , new TypeReference<Collection<Specimen>>() {} , new Property.Accessor<Collection<Specimen>, Specimen>() { private static final long serialVersionUID = 1L; @Override public Collection<Specimen> get(Specimen model) { return model.getChildSpecimens(); } @Override public void set(Specimen model, Collection<Specimen> value) { model.getChildSpecimens().clear(); model.getChildSpecimens().addAll(value); } }); public static final Property<Collection<DispatchSpecimen>, Specimen> DISPATCH_SPECIMENS = Property.create( "dispatchSpecimens" //$NON-NLS-1$ , Specimen.class , new TypeReference<Collection<DispatchSpecimen>>() {} , new Property.Accessor<Collection<DispatchSpecimen>, Specimen>() { private static final long serialVersionUID = 1L; @Override public Collection<DispatchSpecimen> get(Specimen model) { return model.getDispatchSpecimens(); } @Override public void set(Specimen model, Collection<DispatchSpecimen> value) { model.getDispatchSpecimens().clear(); model.getDispatchSpecimens().addAll(value); } }); public static final Property<Center, Specimen> CURRENT_CENTER = Property.create( "currentCenter" //$NON-NLS-1$ , Specimen.class , new TypeReference<Center>() {} , new Property.Accessor<Center, Specimen>() { private static final long serialVersionUID = 1L; @Override public Center get(Specimen model) { return model.getCurrentCenter(); } @Override public void set(Specimen model, Center value) { model.setCurrentCenter(value); } }); public static final Property<SpecimenPosition, Specimen> SPECIMEN_POSITION = Property.create( "specimenPosition" //$NON-NLS-1$ , Specimen.class , new TypeReference<SpecimenPosition>() {} , new Property.Accessor<SpecimenPosition, Specimen>() { private static final long serialVersionUID = 1L; @Override public SpecimenPosition get(Specimen model) { return model.getSpecimenPosition(); } @Override public void set(Specimen model, SpecimenPosition value) { model.setSpecimenPosition(value); } }); public static final Property<ActivityStatus, Specimen> ACTIVITY_STATUS = Property.create( "activityStatus" //$NON-NLS-1$ , Specimen.class , new TypeReference<ActivityStatus>() {} , new Property.Accessor<ActivityStatus, Specimen>() { private static final long serialVersionUID = 1L; @Override public ActivityStatus get(Specimen model) { return model.getActivityStatus(); } @Override public void set(Specimen model, ActivityStatus value) { model.setActivityStatus(value); } }); public static final Property<Collection<RequestSpecimen>, Specimen> REQUEST_SPECIMENS = Property.create( "requestSpecimens" //$NON-NLS-1$ , Specimen.class , new TypeReference<Collection<RequestSpecimen>>() {} , new Property.Accessor<Collection<RequestSpecimen>, Specimen>() { private static final long serialVersionUID = 1L; @Override public Collection<RequestSpecimen> get(Specimen model) { return model.getRequestSpecimens(); } @Override public void set(Specimen model, Collection<RequestSpecimen> value) { model.getRequestSpecimens().clear(); model.getRequestSpecimens().addAll(value); } }); public static final Property<SpecimenType, Specimen> SPECIMEN_TYPE = Property.create( "specimenType" //$NON-NLS-1$ , Specimen.class , new TypeReference<SpecimenType>() {} , new Property.Accessor<SpecimenType, Specimen>() { private static final long serialVersionUID = 1L; @Override public SpecimenType get(Specimen model) { return model.getSpecimenType(); } @Override public void set(Specimen model, SpecimenType value) { model.setSpecimenType(value); } }); public static final List<Property<?, ? super Specimen>> PROPERTIES; static { List<Property<?, ? super Specimen>> aList = new ArrayList<Property<?, ? super Specimen>>(); aList.add(ID); aList.add(CREATED_AT); aList.add(INVENTORY_ID); aList.add(QUANTITY); aList.add(PROCESSING_EVENT); aList.add(COMMENTS); aList.add(ORIGIN_INFO); aList.add(TOP_SPECIMEN); aList.add(COLLECTION_EVENT); aList.add(ORIGINAL_COLLECTION_EVENT); aList.add(PARENT_SPECIMEN); aList.add(CHILD_SPECIMENS); aList.add(DISPATCH_SPECIMENS); aList.add(CURRENT_CENTER); aList.add(SPECIMEN_POSITION); aList.add(ACTIVITY_STATUS); aList.add(REQUEST_SPECIMENS); aList.add(SPECIMEN_TYPE); PROPERTIES = Collections.unmodifiableList(aList); }; }