View Javadoc

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 }