/*
This file is part of OpenMyEWB.
OpenMyEWB is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenMyEWB is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenMyEWB. If not, see <http://www.gnu.org/licenses/>.
OpenMyEWB is Copyright 2005-2009 Nicolas Kruchten (nicolas@kruchten.com), Francis Kung, Engineers Without Borders Canada, Michael Trauttmansdorff, Jon Fishbein, David Kadish
*/
package ca.myewb.beans;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import ca.myewb.model.ApplicationModel;
import ca.myewb.model.ApplicationQuestionModel;
import ca.myewb.model.EvaluationCriteriaModel;
public abstract class ApplicationSession
{
private int id;
private String name;
private Date openDate; //Date the session becomes visible to system users to apply
private Date closeDate; //Date session closes and applications cut-off
private Date dueDate; //Date show to users of when applciations are due, applications are still accpeted if this date is before the close date
private String instructions;
private String frenchInstructions;
private String closeEmailText;
private String rejectionEmailText;
private String completedApplicationMessage;
private Collection<ApplicationQuestionModel> questions;
private List<ApplicationModel> applications;
private boolean emailSent;
private Collection<EvaluationCriteriaModel> evalCriteria;
protected ApplicationSession() {
id = 0;
name = "";
instructions = "";
frenchInstructions = "";
closeEmailText = "";
rejectionEmailText = "";
completedApplicationMessage = "";
questions = new HashSet<ApplicationQuestionModel>();
applications = new ArrayList<ApplicationModel>();
evalCriteria = new ArrayList<EvaluationCriteriaModel>();
emailSent = false;
}
public List<ApplicationModel> getApplications()
{
return applications;
}
protected void setApplications(List<ApplicationModel> applications)
{
this.applications = applications;
}
public Date getCloseDate()
{
return closeDate;
}
protected void setCloseDate(Date closeDate)
{
this.closeDate = closeDate;
}
public String getCloseEmailText()
{
return closeEmailText;
}
protected void setCloseEmailText(String closeEmailText)
{
this.closeEmailText = closeEmailText;
}
public String getCompletedApplicationMessage()
{
return completedApplicationMessage;
}
protected void setCompletedApplicationMessage(String completedApplicationMessage)
{
this.completedApplicationMessage = completedApplicationMessage;
}
public Date getDueDate()
{
return dueDate;
}
protected void setDueDate(Date dueDate)
{
this.dueDate = dueDate;
}
public int getId()
{
return id;
}
protected void setId(int id)
{
this.id = id;
}
public String getInstructions()
{
return instructions;
}
protected void setInstructions(String instructions)
{
this.instructions = instructions;
}
public String getName()
{
return name;
}
protected void setName(String name)
{
this.name = name;
}
public Collection<ApplicationQuestionModel> getQuestions()
{
return questions;
}
protected void setQuestions(Collection<ApplicationQuestionModel> questions)
{
this.questions = questions;
}
public Date getOpenDate()
{
return openDate;
}
protected void setOpenDate(Date openDate)
{
this.openDate = openDate;
}
public boolean isEmailSent()
{
return emailSent;
}
protected void setEmailSent(boolean emailSent)
{
this.emailSent = emailSent;
}
public String getFrenchInstructions() {
return frenchInstructions;
}
public void setFrenchInstructions(String frenchInstructions) {
this.frenchInstructions = frenchInstructions;
}
public Collection<EvaluationCriteriaModel> getEvalCriteria()
{
return evalCriteria;
}
protected void setEvalCriteria(Collection<EvaluationCriteriaModel> evalCriteria)
{
this.evalCriteria = evalCriteria;
}
public String getRejectionEmailText()
{
return rejectionEmailText;
}
public void setRejectionEmailText(String rejectionEmailText)
{
this.rejectionEmailText = rejectionEmailText;
}
}