User.java

package edu.rit.coopeval.authentication.beans;

import edu.rit.coopeval.model.Department;

import java.util.ArrayList;
import java.util.List;

public class User {
	private String firstName;
	private String lastName;
	private String uid;
	private String userName;
	private UserType accountType;
	private String shibAccountType;
	private List<String> departments;
	private Privileges privileges;

	public User(){
		this.privileges = new Privileges();
	}

	public User(String firstName, String lastName, String uid, String userName, UserType accountType, String shibAccountType)
	{
		this.setFirstName(firstName);
		this.setLastName(lastName);
		this.setUid(uid);
		this.setUserName(userName);
		this.setAccountType(accountType);
		this.setShibAccountType(shibAccountType);
		this.privileges = new Privileges();
		this.departments = null;
	}

	public User(String firstName, String lastName, String uid, String userName, UserType accountType, String shibAccountType, List<Department> departments)
	{
		this.setFirstName(firstName);
		this.setLastName(lastName);
		this.setUid(uid);
		this.setUserName(userName);
		this.setAccountType(accountType);
		this.setShibAccountType(shibAccountType);
		this.privileges = new Privileges();
		this.departments = new ArrayList<String>();
		for(Department department : departments){
			this.departments.add(department.getDepartmentCode());
		}
	}

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public UserType getAccountType() {
		return this.accountType;
	}

	public void setAccountType(UserType accountType) {
		this.accountType = accountType;
	}

	public String getShibAccountType() {
		return this.shibAccountType;
	}

	public void setShibAccountType(String shibAccountType) {
		this.shibAccountType = shibAccountType;
	}

	public Privileges getPrivileges() {return privileges;}

	public List<String> getDepartments() {
		return departments;
	}

	public void setDepartments(List<String> departments) {
		this.departments = departments;
	}

}