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();
}