1 package org.kuali.student.r2.lum.course.infc;
2
3 import org.kuali.student.r2.common.infc.IdNamelessEntity;
4
5 public interface CourseCrossListing extends IdNamelessEntity {
6
7 /**
8 *
9 * This is the concatenation of subject area/code plus the course
10 * number suffix of the cross-listed course (i.e., not the original
11 * course)
12 * E.g., ENGL100, CHEM250A
13 *
14 * @return
15 */
16 public String getCode();
17
18 /**
19 *
20 * This is the subject area also known as the subject code.
21 * See comments in getCode().
22 * E.g., from ENGL101A, it's ENGL.
23 *
24 * @return
25 */
26 public String getSubjectArea();
27
28 /**
29 * This method has been replaced by getSubjectOrgId()
30 */
31 @Deprecated
32 public String getDepartment();
33
34 /**
35 * This is the ID for that subject code as an org within the Org Service.
36 * Subject codes are stored in the Org table as an organization.
37 * Note: subject org id and subject area/code should be kept aligned (in case
38 * the subject code changes, but its ID stays the same).
39 *
40 * @impl In general, subject org ID should take precedence over subject area
41 * since the subject area can be found as the short name of the org corresponding
42 * to the subject org ID.
43 *
44 * @impl Reference implementation has the ID as ORGID-[subject area]
45 * For example, ORGID-ENGL
46 * This is not a requirement, but makes it easier to create the Org Id
47 */
48 public String getSubjectOrgId();
49
50 /**
51 * The "extra" portion of the code, which usually corresponds with the most
52 * detailed part of the number (i.e., everything besides the subject area/code).
53 * See comments in getCode().
54 * E.g., from ENGL101A, it's 101A.
55 * E.g., from CHEM200, it's 200.
56 */
57 public String getCourseNumberSuffix();
58 }