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.Center;
import edu.ualberta.med.biobank.model.ShipmentInfo;
import edu.ualberta.med.biobank.model.Comment;
import edu.ualberta.med.biobank.model.Site;
import edu.ualberta.med.biobank.model.Specimen;
import java.util.Collection;
import edu.ualberta.med.biobank.model.OriginInfo;
public class OriginInfoPeer {
public static final Property<Integer, OriginInfo> ID = Property.create(
"id" //$NON-NLS-1$
, OriginInfo.class
, new TypeReference<Integer>() {}
, new Property.Accessor<Integer, OriginInfo>() { private static final long serialVersionUID = 1L;
@Override
public Integer get(OriginInfo model) {
return model.getId();
}
@Override
public void set(OriginInfo model, Integer value) {
model.setId(value);
}
});
public static final Property<Center, OriginInfo> CENTER = Property.create(
"center" //$NON-NLS-1$
, OriginInfo.class
, new TypeReference<Center>() {}
, new Property.Accessor<Center, OriginInfo>() { private static final long serialVersionUID = 1L;
@Override
public Center get(OriginInfo model) {
return model.getCenter();
}
@Override
public void set(OriginInfo model, Center value) {
model.setCenter(value);
}
});
public static final Property<ShipmentInfo, OriginInfo> SHIPMENT_INFO = Property.create(
"shipmentInfo" //$NON-NLS-1$
, OriginInfo.class
, new TypeReference<ShipmentInfo>() {}
, new Property.Accessor<ShipmentInfo, OriginInfo>() { private static final long serialVersionUID = 1L;
@Override
public ShipmentInfo get(OriginInfo model) {
return model.getShipmentInfo();
}
@Override
public void set(OriginInfo model, ShipmentInfo value) {
model.setShipmentInfo(value);
}
});
public static final Property<Collection<Comment>, OriginInfo> COMMENTS = Property.create(
"comments" //$NON-NLS-1$
, OriginInfo.class
, new TypeReference<Collection<Comment>>() {}
, new Property.Accessor<Collection<Comment>, OriginInfo>() { private static final long serialVersionUID = 1L;
@Override
public Collection<Comment> get(OriginInfo model) {
return model.getComments();
}
@Override
public void set(OriginInfo model, Collection<Comment> value) {
model.getComments().clear();
model.getComments().addAll(value);
}
});
public static final Property<Site, OriginInfo> RECEIVER_SITE = Property.create(
"receiverSite" //$NON-NLS-1$
, OriginInfo.class
, new TypeReference<Site>() {}
, new Property.Accessor<Site, OriginInfo>() { private static final long serialVersionUID = 1L;
@Override
public Site get(OriginInfo model) {
return model.getReceiverSite();
}
@Override
public void set(OriginInfo model, Site value) {
model.setReceiverSite(value);
}
});
public static final Property<Collection<Specimen>, OriginInfo> SPECIMENS = Property.create(
"specimens" //$NON-NLS-1$
, OriginInfo.class
, new TypeReference<Collection<Specimen>>() {}
, new Property.Accessor<Collection<Specimen>, OriginInfo>() { private static final long serialVersionUID = 1L;
@Override
public Collection<Specimen> get(OriginInfo model) {
return model.getSpecimens();
}
@Override
public void set(OriginInfo model, Collection<Specimen> value) {
model.getSpecimens().clear();
model.getSpecimens().addAll(value);
}
});
public static final List<Property<?, ? super OriginInfo>> PROPERTIES;
static {
List<Property<?, ? super OriginInfo>> aList = new ArrayList<Property<?, ? super OriginInfo>>();
aList.add(ID);
aList.add(CENTER);
aList.add(SHIPMENT_INFO);
aList.add(COMMENTS);
aList.add(RECEIVER_SITE);
aList.add(SPECIMENS);
PROPERTIES = Collections.unmodifiableList(aList);
};
}