/** * Copyright © 2002 Instituto Superior Técnico * * This file is part of FenixEdu Academic. * * FenixEdu Academic 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 Academic 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 Academic. If not, see <http://www.gnu.org/licenses/>. */ /* * Created on Nov 11, 2005 * by mrsp */ package org.fenixedu.academic.domain; import java.util.ArrayList; import java.util.List; import java.util.Locale; import org.fenixedu.academic.util.Bundle; import org.fenixedu.bennu.core.i18n.BundleUtil; import org.fenixedu.commons.i18n.I18N; public enum QualificationType { DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), DEGREE_FOREIGNER_WITH_EQUIVALENCE(null), DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE(null), MASTER_DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), MASTER_DEGREE_WITH_RECOGNITION(null), MASTER_DEGREE_FOREIGNER_WITH_EQUIVALENCE(null), MASTER_DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE(null), MASTER(null), DOCTORATE_DEGREE( FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), DOCTORATE_DEGREE_BOLOGNA(null), DOCTORATE_DEGREE_WITH_RECOGNITION(null), DOCTORATE_DEGREE_WITH_REGISTER(null), DOCTORATE_DEGREE_FOREIGNER_WITH_EQUIVALENCE( null), DOCTORATE_DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE(null), BACHELOR_DEGREE( FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), BACHELOR_DEGREE_FOREIGNER_WITH_EQUIVALENCE(null), BACHELOR_DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE(null), OTHER(null), FIRST_CLASS(null), THIRD_CLASS(null), FOUR_CLASS(null), SIXTH_YEAR_PREPARATORY_CYCLE(null), APCC(null), BASIC_LEVEL2(null), SECOND_YEAR_GERAL_COURSE_SCHOOL(null), FIFTH_YEAR(null), SEVEN_YEAR_INCOMPLETE(null), SEVEN_YEAR(null), EIGHTH_YEAR(null), NINETH_YEAR(null), TEN_YEAR(null), ELEVEN_YEAR(null), ELEVEN_YEAR_INCOMPLETE(null), TWELVE_YEAR(null), UNIVERSITY_FIRST_YEAR(null), UNIVERSITY_SECOND_YEAR(null), UNIVERSITY_THIRD_YEAR(null), UNIVERSITY_FOUR_YEAR(null), UNIVERSITY_FIVE_YEAR(null), PROPEDEUTICO(null), ACTION_FORMATION(null), AGGREGATION(null), ACCOUNTING_AND_ADMINISTRATION_COMPLEMENT_COURSE(null), COURSE_COMPLEMENT(null), COURSE_COMPLEMENT_SCHOOL(null), COURSE_COMPLEMENT_SCHOOL_INCOMPLETE(null), GERAL_COURSE(null), COMMERCE_AND_ADMINISTRATION_GERAL_COURSE(null), COMMERCE_GERAL_COURSE_INCOMPLETE(null), GERAL_COURSE_SCHOOL(null), SUPERIOR_COURSE_INCOMPLETE(null), NITH_YEAR_EQUIVALENT_FOR_PROFESSIONAL(null), ELEVEN_YEAR_EQUIVALENT_FOR_PUBLIC_FUNCTIONS(null), TWELVE_YEAR_EQUIVALENT(null), EQUIVALENT_FOR_PROFESSIONAL_AND_COMPLEMENTAR_COURSE(null), DEGREE_FREQUENCY(null), BACHELOR_FREQUENCY(null), INTEGRATED_MASTER_DEGREE_FREQUENCY(null), MASTER_DEGREE_FREQUENCY(null), FIRST_CYCLE_FREQUENCY(null), SECOND_CYCLE_FREQUENCY(null), PRIMARY_TEACHING(null), FIRST_CYCLE(FormationType.POST_BOLONHA_DEGREE_EQUIVALENT_FORMATION), SECOND_CYCLE(FormationType.POST_BOLONHA_DEGREE_EQUIVALENT_FORMATION), INTEGRATED_MASTER_DEGREE(FormationType.POST_BOLONHA_DEGREE_EQUIVALENT_FORMATION), DEA(FormationType.POST_BOLONHA_DEGREE_EQUIVALENT_FORMATION), // DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), // MASTER_DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), // DOCTORATE_DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), FREE_COURSE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), // BACHELOR_DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), BACHELOR_AND_DEGREE(FormationType.PRE_BOLONHA_DEGREE_EQUILAVENT_FORMATION), MBA(FormationType.NON_DEGREE_ADVANCED_FORMATION), DFA(FormationType.NON_DEGREE_ADVANCED_FORMATION), SUPERIOR_SPECIALIZATION(FormationType.NON_DEGREE_ADVANCED_FORMATION), RECYCLING(FormationType.PROFESSIONAL_FORMATION), SPECIALIZATION(FormationType.PROFESSIONAL_FORMATION), PEDAGOGIC_FORMATION( FormationType.PROFESSIONAL_FORMATION), SHORT_FORMATION(FormationType.PROFESSIONAL_FORMATION), CONTINUOUS_FORMATION( FormationType.PROFESSIONAL_FORMATION), QUALIFIED_FORMATION(FormationType.PROFESSIONAL_FORMATION), HIGH_SCHOOL(null), TECHNICAL_SPECIALIZATION_COURSE(null); private FormationType formationType; private QualificationType(FormationType formationType) { this.formationType = formationType; } public String getName() { return name(); } public FormationType getFormationType() { return formationType; } public static List<QualificationType> getbyFormationType(FormationType formationType) { List<QualificationType> types = new ArrayList<QualificationType>(); for (QualificationType type : QualificationType.values()) { if (type.getFormationType() != null && type.getFormationType().equals(formationType)) { types.add(type); } } return types; } public String getLocalizedName() { return getLocalizedName(I18N.getLocale()); } public String getLocalizedName(final Locale locale) { return BundleUtil.getString(Bundle.ENUMERATION, locale, getQualifiedName()); } public String getQualifiedName() { return QualificationType.class.getSimpleName() + "." + name(); } public boolean isDegree() { return equals(DEGREE) || equals(DEGREE_FOREIGNER_WITH_EQUIVALENCE) || equals(DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE); } public boolean isMaster() { return equals(MASTER) || equals(MASTER_DEGREE) || equals(MASTER_DEGREE_FOREIGNER_WITH_EQUIVALENCE) || equals(MASTER_DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE) || equals(MASTER_DEGREE_WITH_RECOGNITION); } public boolean isDoctorate() { return equals(DOCTORATE_DEGREE) || equals(DOCTORATE_DEGREE_BOLOGNA) || equals(DOCTORATE_DEGREE_FOREIGNER_WITH_EQUIVALENCE) || equals(DOCTORATE_DEGREE_FOREIGNER_WITHOUT_EQUIVALENCE) || equals(DOCTORATE_DEGREE_WITH_RECOGNITION) || equals(DOCTORATE_DEGREE_WITH_REGISTER); } }