package admin; import util.GraderObject; import java.util.Collection; /** * An identifiable human granted a Role in the Grader Application. */ public abstract class User implements GraderObject { /** * ID number for the User. */ String id; /** * Collection of every Identity held users in the Course. */ Collection identities; /** * First name of the User. */ String firstName; /** * Last name of the User. */ String lastName; /** * Accessor for an Identity for this User. * @return Identity for this User. pre: id != null && identities.contains(id) post: (id' == id) */ abstract String getId(); /** * Accessor for every Identity for this User. * @return Identity Collection for this User. pre: identities != null post: (id' == id) */ abstract Collection getIdentities(); /** * Accessor for the firstName for this User. * @return firstName of this User. pre: firstName != null post: (id' == id) */ abstract String getFirstName(); /** * Accessor for the lastName for this User. * @return lastName of this User. pre: lastName != null post: (id' == id) */ abstract String getLastName(); }