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.ContainerType;
import edu.ualberta.med.biobank.model.SpecimenType;
import java.util.Collection;
public class SpecimenTypePeer {
public static final Property<Integer, SpecimenType> ID = Property.create(
"id" //$NON-NLS-1$
, SpecimenType.class
, new TypeReference<Integer>() {}
, new Property.Accessor<Integer, SpecimenType>() { private static final long serialVersionUID = 1L;
@Override
public Integer get(SpecimenType model) {
return model.getId();
}
@Override
public void set(SpecimenType model, Integer value) {
model.setId(value);
}
});
public static final Property<String, SpecimenType> NAME = Property.create(
"name" //$NON-NLS-1$
, SpecimenType.class
, new TypeReference<String>() {}
, new Property.Accessor<String, SpecimenType>() { private static final long serialVersionUID = 1L;
@Override
public String get(SpecimenType model) {
return model.getName();
}
@Override
public void set(SpecimenType model, String value) {
model.setName(value);
}
});
public static final Property<String, SpecimenType> NAME_SHORT = Property.create(
"nameShort" //$NON-NLS-1$
, SpecimenType.class
, new TypeReference<String>() {}
, new Property.Accessor<String, SpecimenType>() { private static final long serialVersionUID = 1L;
@Override
public String get(SpecimenType model) {
return model.getNameShort();
}
@Override
public void set(SpecimenType model, String value) {
model.setNameShort(value);
}
});
public static final Property<Collection<ContainerType>, SpecimenType> CONTAINER_TYPES = Property.create(
"containerTypes" //$NON-NLS-1$
, SpecimenType.class
, new TypeReference<Collection<ContainerType>>() {}
, new Property.Accessor<Collection<ContainerType>, SpecimenType>() { private static final long serialVersionUID = 1L;
@Override
public Collection<ContainerType> get(SpecimenType model) {
return model.getContainerTypes();
}
@Override
public void set(SpecimenType model, Collection<ContainerType> value) {
model.getContainerTypes().clear();
model.getContainerTypes().addAll(value);
}
});
public static final Property<Collection<SpecimenType>, SpecimenType> PARENT_SPECIMEN_TYPES = Property.create(
"parentSpecimenTypes" //$NON-NLS-1$
, SpecimenType.class
, new TypeReference<Collection<SpecimenType>>() {}
, new Property.Accessor<Collection<SpecimenType>, SpecimenType>() { private static final long serialVersionUID = 1L;
@Override
public Collection<SpecimenType> get(SpecimenType model) {
return model.getParentSpecimenTypes();
}
@Override
public void set(SpecimenType model, Collection<SpecimenType> value) {
model.getParentSpecimenTypes().clear();
model.getParentSpecimenTypes().addAll(value);
}
});
public static final Property<Collection<SpecimenType>, SpecimenType> CHILD_SPECIMEN_TYPES = Property.create(
"childSpecimenTypes" //$NON-NLS-1$
, SpecimenType.class
, new TypeReference<Collection<SpecimenType>>() {}
, new Property.Accessor<Collection<SpecimenType>, SpecimenType>() { private static final long serialVersionUID = 1L;
@Override
public Collection<SpecimenType> get(SpecimenType model) {
return model.getChildSpecimenTypes();
}
@Override
public void set(SpecimenType model, Collection<SpecimenType> value) {
model.getChildSpecimenTypes().clear();
model.getChildSpecimenTypes().addAll(value);
}
});
public static final List<Property<?, ? super SpecimenType>> PROPERTIES;
static {
List<Property<?, ? super SpecimenType>> aList = new ArrayList<Property<?, ? super SpecimenType>>();
aList.add(ID);
aList.add(NAME);
aList.add(NAME_SHORT);
aList.add(CONTAINER_TYPES);
aList.add(PARENT_SPECIMEN_TYPES);
aList.add(CHILD_SPECIMEN_TYPES);
PROPERTIES = Collections.unmodifiableList(aList);
};
}