1 package org.kuali.student.r2.lum.program.infc;
2
3 import java.util.List;
4
5 import org.kuali.student.r2.common.infc.IdNamelessEntity;
6 import org.kuali.student.r2.common.infc.RichText;
7 import org.kuali.student.r2.core.versionmanagement.infc.Version;
8 import org.kuali.student.r2.lum.course.infc.LoDisplay;
9
10 /*
11 * fields that are common with the credential program
12 */
13 public interface CommonWithCredentialProgram extends IdNamelessEntity {
14
15 /**
16 * Information about the Version of this program
17 *
18 * @name Version
19 */
20 public Version getVersion();
21
22 /**
23 * Narrative Description of the program
24 *
25 * @name Description
26 */
27 public RichText getDescr();
28
29 /**
30 * Abbreviated title used where presentation space is at a premium
31 *
32 * @name Short Title
33 */
34 public String getShortTitle();
35
36 /**
37 * Fully expressed title
38 *
39 * @name Long Title
40 */
41 public String getLongTitle();
42
43 /**
44 * Title used for transcript reporting purposes
45 *
46 * @name Transcript Title
47 */
48 public String getTranscriptTitle();
49
50 /**
51 * Human readable code used to identify this program
52 *
53 * The code is typically unique within the particular context (for example
54 * the list of majors at the university) but it is not guaranteed to be
55 * completely unique.
56 *
57 * @name Code
58 * @required
59 */
60 public String getCode();
61
62 /**
63 * University specific classification e.g General Education Program
64 *
65 * @name University Classification
66 */
67 public String getUniversityClassification();
68
69 /**
70 * The first term in which this would be allowed to be offered.
71 *
72 * Note: This may not be the first "real" term during that this was offered.
73 *
74 * @name Start Term Id
75 */
76 public String getStartTerm();
77
78 /**
79 * The last term that this would be allowed to be offered.
80 *
81 * @name End Term Id
82 */
83 public String getEndTerm();
84
85 /**
86 * The last academic time period that this would be available for
87 * new enrollments. T
88 *
89 * @name End Program Entry Term Id
90 */
91 public String getEndProgramEntryTerm();
92
93 /**
94 * Identifiers for Divisions responsible to make changes to this program
95 *
96 * @name Divisions Content Owner Ids
97 */
98 public List<String> getDivisionsContentOwner();
99
100 /**
101 * Divisions responsible for overseeing students in this program.
102 *
103 * For example: Granting exceptions to requirements to students.
104 *
105 * @name Divisions Student Oversight Ids
106 */
107 public List<String> getDivisionsStudentOversight();
108
109 /**
110 * Unit responsible for make changes to this program
111 *
112 * The unit is typically an academic department but does not have to be.
113 *
114 * @name Units Content Owner Ids
115 */
116 public List<String> getUnitsContentOwner();
117
118 /**
119 * Identifier of unit responsible for overseeing students in this program.
120 *
121 * For example: granting exceptions to the requirements to students.
122 *
123 * The unit is typically an academic department but does not have to be.
124 *
125 * @name Units Student Oversight
126 */
127 public List<String> getUnitsStudentOversight();
128
129 /**
130 * Learning Objectives associated with this program.
131 *
132 * @name Learning Objectives
133 */
134 public List<? extends LoDisplay> getLearningObjectives();
135
136 /**
137 * Identifiers for Requirements associated with this program
138 *
139 * @Name Program Requirement Ids
140 */
141 public List<String> getProgramRequirements();
142 }