1 package org.kuali.student.r2.lum.program.infc; 2 3 import org.kuali.student.r2.lum.clu.infc.Accreditation; 4 import org.kuali.student.r2.lum.clu.infc.CluInstructor; 5 6 import java.util.List; 7 import org.kuali.student.r2.lum.program.dto.CoreProgramInfo; 8 9 /** 10 * Detailed information about a single major discipline program 11 * 12 * This represents a traditional undergraduate major or a graduate area of study 13 * that leads to a degree in a particular discipline. 14 */ 15 public interface MajorDiscipline extends CommonWithProgramVariation { 16 17 /** 18 * Term when this major is next slated to be reviewed 19 * 20 * @name Next Review Period 21 */ 22 public String getNextReviewPeriod(); 23 24 /** 25 * Instructors associated with this Major. 26 * 27 * This may not be an exhaustive list, and instead may only be used to 28 * indicate potential instructors in publication. 29 * 30 * @name Published Instructors 31 */ 32 public List<? extends CluInstructor> getPublishedInstructors(); 33 34 /** 35 * Identifier of the credential program under which the major belongs 36 * 37 * @name Credential Program Id 38 */ 39 public String getCredentialProgramId(); 40 41 /** 42 * External Agencies that accredit this major 43 * 44 * @name Accrediting Agencies 45 */ 46 public List<? extends Accreditation> getAccreditingAgencies(); 47 48 /** 49 * Program variations for the Major 50 * 51 * Also called specializations or tracks. 52 * 53 * @name Variations 54 */ 55 public List<? extends ProgramVariation> getVariations(); 56 57 /** 58 * The core program requirements associated with this organizational unit 59 * 60 * Also called School Core or School Wide Common Requirements. 61 * 62 * @name Organization Core Program 63 */ 64 public CoreProgramInfo getOrgCoreProgram(); 65 }