/**
* Copyright © 2011 Instituto Superior Técnico
*
* This file is part of FenixEdu GIAF Contracts.
*
* FenixEdu GIAF Contracts is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* FenixEdu GIAF Contracts 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with FenixEdu GIAF Contracts. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Created on Oct 3, 2005
* by mrsp
*/
package pt.ist.fenixedu.contracts.domain.organizationalStructure;
import java.util.ArrayList;
import java.util.List;
public enum FunctionType {
PRESIDENT, VICE_PRESIDENT, ASSISTANCE_PRESIDENT, DIRECTOR, ASSOCIATE_DIRECTOR, COORDINATOR, VICE_COORDINATOR,
ASSOCIATE_COORDINATOR, CHIEF, RESPONSIBLE, TEACHER, EMPLOYEE, NON_TEACHING_EMPLOYEE, TEACHER_MEMBER, EMPLOYEE_MEMBER,
STUDENT_MEMBER, TEACER_VOWEL, VOWEL, SECRETARY, REPRESENTATIVE,
MEMBER,
ASSIDUOUSNESS_RESPONSIBLE,
PRINCIPAL,
PRO_PRINCIPAL,
VICE_PRINCIPAL,
MANAGER,
ADVISER,
DELEGATE_OF_YEAR, // Delegado de Ano
DELEGATE_OF_DEGREE, // Delegado de Licenciatura (escolhido entre delegado de
// ano do 1º, 2º ou 3º ano)
DELEGATE_OF_MASTER_DEGREE, // Delegado de Mestrado (delegado de ano do 1º ou
// 2º ano do Mestrado | delegado de ano do 4º ou
// 5º ano do Mestrado Integrado)
DELEGATE_OF_INTEGRATED_MASTER_DEGREE, // Delegado de Mestrado Integrado
// (delegado de ano do 4º ou 5º ano do
// Mestrado Integrado)
DELEGATE_OF_GGAE, // Delegado de um Grupo de Grandes Áreas de Estudo
// (delegado de Licenciatura, Mestrado ou Mestrado
// Integrado )
VIRTUAL /* for functions that can be created unofficially */,
MICRO_PAYMENT_MANAGER,
/* Research */
PERMANENT_RESEARCHER, INVITED_RESEARCHER, TECHNICAL_STAFF, COLLABORATORS, OTHER_STAFF, PHD_STUDENT, MSC_STUDENT,
POST_DOC_STUDENT;
public String getName() {
return name();
}
public static List<FunctionType> getAllDelegateFunctionTypes() {
List<FunctionType> result = new ArrayList<FunctionType>();
result.add(FunctionType.DELEGATE_OF_YEAR);
result.add(FunctionType.DELEGATE_OF_DEGREE);
result.add(FunctionType.DELEGATE_OF_MASTER_DEGREE);
result.add(FunctionType.DELEGATE_OF_INTEGRATED_MASTER_DEGREE);
result.add(FunctionType.DELEGATE_OF_GGAE);
return result;
}
public static List<FunctionType> getAllDegreeDelegateFunctionTypes() {
List<FunctionType> result = getAllDelegateFunctionTypes();
result.remove(FunctionType.DELEGATE_OF_GGAE);
return result;
}
public static List<FunctionType> getResearchSubSet() {
List<FunctionType> functions = new ArrayList<FunctionType>();
functions.add(PERMANENT_RESEARCHER);
functions.add(INVITED_RESEARCHER);
functions.add(TECHNICAL_STAFF);
functions.add(COLLABORATORS);
functions.add(OTHER_STAFF);
functions.add(PHD_STUDENT);
functions.add(MSC_STUDENT);
functions.add(POST_DOC_STUDENT);
return functions;
}
}