package org.sakaiproject.profile2.model; import java.io.Serializable; /** * This is the base model for a Person, containing a limited set of fields. It is extended by Person. * * <p>Note about serialisation. The User object is not serialisable and does not contain a no-arg constructor so cannot be manually serialised via * the serializable methods (readObject, writeObject). Hence why it is not used instead. * So the most useful values it provides are extracted and set into this object. * * @author Steve Swinsburg (steve.swinsburg@gmail.com) * */ public class BasicPerson implements Serializable, Comparable<Object> { private static final long serialVersionUID = 1L; private String uuid; private String displayName; private String type; /** * No arg constructor */ public BasicPerson() {} public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public String getDisplayName() { return displayName; } public void setDisplayName(String displayName) { this.displayName = displayName; } public String getType() { return type; } public void setType(String type) { this.type = type; } //default sort public int compareTo(Object o) { String field = ((BasicPerson)o).getDisplayName(); int lastCmp = displayName.compareTo(field); return (lastCmp != 0 ? lastCmp : displayName.compareTo(field)); } }