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 }