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.Study;
import edu.ualberta.med.biobank.model.Request;
import java.util.Collection;
import edu.ualberta.med.biobank.model.ResearchGroup;
public class ResearchGroupPeer extends CenterPeer {
public static final Property<Study, ResearchGroup> STUDY = Property.create(
"study" //$NON-NLS-1$
, ResearchGroup.class
, new TypeReference<Study>() {}
, new Property.Accessor<Study, ResearchGroup>() { private static final long serialVersionUID = 1L;
@Override
public Study get(ResearchGroup model) {
return model.getStudy();
}
@Override
public void set(ResearchGroup model, Study value) {
model.setStudy(value);
}
});
public static final Property<Collection<Request>, ResearchGroup> REQUESTS = Property.create(
"requests" //$NON-NLS-1$
, ResearchGroup.class
, new TypeReference<Collection<Request>>() {}
, new Property.Accessor<Collection<Request>, ResearchGroup>() { private static final long serialVersionUID = 1L;
@Override
public Collection<Request> get(ResearchGroup model) {
return model.getRequests();
}
@Override
public void set(ResearchGroup model, Collection<Request> value) {
model.getRequests().clear();
model.getRequests().addAll(value);
}
});
public static final List<Property<?, ? super ResearchGroup>> PROPERTIES;
static {
List<Property<?, ? super ResearchGroup>> aList = new ArrayList<Property<?, ? super ResearchGroup>>();
aList.add(STUDY);
aList.add(REQUESTS);
PROPERTIES = Collections.unmodifiableList(aList);
};
}