1 /*
2 * Copyright 2010 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the
5 * "License"); you may not use this file except in compliance with the
6 * License. You may obtain a copy of the License at
7 *
8 * http://www.osedu.org/licenses/ECL-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13 * implied. See the License for the specific language governing
14 * permissions and limitations under the License.
15 */
16 package org.kuali.student.enrollment.courseofferingset.infc;
17
18 import java.util.Date;
19 import org.kuali.student.r2.common.infc.IdEntity;
20
21 /**
22 * Set of Offered Courses, Soc.
23 *
24 * Identifies a set of courses that are offered within a term.
25 *
26 * @author nwright
27 */
28 public interface Soc
29 extends IdEntity {
30
31 /**
32 * Academic term of the courses in the course offering set
33 *
34 * @name Term Id
35 * @readOnly
36 * @required
37 * @impl set during the #createSoc
38 */
39 public String getTermId();
40
41 /**
42 * Subject Area of the courses in the course offering set
43 *
44 * This is the first part of the course number, for example "ENG" in "ENG 101"
45 *
46 *
47 * THIS IS A PLACEHOLDER FOR DEFINING DEPARTMENTAL SOCS
48 * NOTE: if a course is cross-listed it is not clear yet if it appears in
49 * Socs for both subject areas or just the one main one for the course.
50 *
51 * @name Subject Area
52 */
53 @Deprecated
54 public String getSubjectArea();
55
56 /**
57 * The Organization id of the content owner of the courses in this course offering
58 * set.
59 *
60 * THIS IS A PLACEHOLDER FOR DEFINING DEPARTMENTAL SOCS
61 * NOTE: should this be a list of org ids not just one?
62 *
63 * @name Units Content Owner
64 */
65 @Deprecated
66 public String getUnitsContentOwnerId();
67
68 /**
69 * Date of the last time this SOC was submitted to the scheduler
70 *
71 * @name Last Scheduling Run Completed
72 * @readOnly
73 * @impl calculated based on the scheduling batch
74 */
75 public Date getLastSchedulingRunStarted();
76
77 /**
78 * Date the SOC scheduling run completed
79 *
80 * @name Last Scheduling Run Completed
81 * @readOnly
82 * @impl calculated from schedule response for the soc
83 */
84 public Date getLastSchedulingRunCompleted();
85
86
87 /**
88 * Date this SOC was submitted for publishing
89 *
90 * @name Publishing Started
91 * @readOnly
92 * @impl Calculated ????
93 */
94 public Date getPublishingStarted();
95
96 /**
97 * Date the publishing process was initiated
98 *
99 * @name Publishing Completed
100 * @readOnly
101 * @impl calculated ?????
102 */
103 public Date getPublishingCompleted();
104
105 }