View Javadoc

1   /*
2    * Copyright 2012 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  
17  package org.kuali.student.enrollment.courseoffering.infc;
18  
19  import org.kuali.student.r2.common.infc.IdEntity;
20  import org.kuali.student.r2.core.scheduling.infc.ScheduleDisplay;
21  
22  /**
23   * An adminsitrative view of the ActivityOffering.
24   *
25   * @author tom
26   */
27  public interface ActivityOfferingDisplay
28      extends IdEntity {
29  
30      /**
31       * A display name for the Activity Offering Type.
32       *
33       * @name Activity Offering Type Display Name
34       * @readOnly
35       * @impl ActivityOffering.Type.Name
36       */
37      public String getTypeName();
38  
39      /**
40       * A display name for the activity Offering State.
41       *
42       * @name Activity Offering State Display Name
43       * @readOnly
44       * @impl ActivityOffering.State.Name
45       */
46      public String getStateName();
47  
48      /**
49       * Name of the course used in the college catalog. Initially
50       * copied from the course catalog but then, depending on the
51       * configuration it may be updatable. For regular courses this is
52       * not generally allowed to be updated on the offering, but for
53       * special topics courses this is often overridden to capture the
54       * particular topic being taught offered this term. Note: the
55       * configuration of the validation for titles is typically
56       * restricted to exclude line breaks. This may have to be loosened
57       * as some schools may want the particular topic to appear on a
58       * 2nd line. For example: SPECIAL TOPICS: AN EXPLORATION OF DEEP
59       * SPACE ARTIFACTS
60       * 
61       * @name Course Offering Title
62       * @readOnly
63       * @impl ActivityOffering.FormatOffering.CourseOffering.Title
64       */
65      public String getCourseOfferingTitle();
66  
67      /**
68       * Identifies the number of a course as reflected in the course
69       * catalog.  This typically must be unique across all courses
70       * offered during that term. If the user wants to create two
71       * separate offerings for the same course they must modify this
72       * code to make it unique. For example: An on-line offering of the
73       * course might have an "O" appended to it to distinguish it from
74       * the face to face offering, i.e. ENG101 and ENG101O Initially
75       * copied from the course catalog but then, depending on the
76       * configuration it may be updatable. Often this field is
77       * configured so that it is not not directly updatable but rather
78       * is calculated from it's two constituent parts, the subject area
79       * and the course number suffix. For example: Subject Area = "ENG"
80       * and Suffix = "101" then code = "ENG101"
81       * 
82       * @name Course Offering Code
83       * @readOnly
84       * @impl ActivityOffering.FormatOffering.CourseOffering.CourseOfferingCode
85       */
86      public String getCourseOfferingCode();
87  
88      /**
89       * The Format Offering Id used to create this ActivityOffering.
90       *
91       * @name Format Offering Id
92       * @readOnly
93       * @impl ActivityOffering.FormatOffering.Id
94       */
95      public String getFormatOfferingId();
96  
97      /**
98       * A display name for the Format Offering.
99       *
100      * @name Format Offering Display Name
101      * @readOnly
102      * @impl ActivityOffering.FormatOffering.Name
103      */
104     public String getFormatOfferingName();
105 
106     /**
107      * Alphanumeric character that identifies the section of the
108      * course offering.
109      *
110      * @name Activity Offering Code
111      * @readOnly
112      * @impl ActivityOffering.ActivityOfferingCode
113      */
114     public String getActivityOfferingCode();
115 
116     /**
117      * Gets the instructor of record for this ActivityOffering.
118      *
119      * @name Instructor Id
120      * @readOnly
121      * @impl ActivityOffering.OfferingInstructor.PersonId
122      */
123     public String getInstructorId();
124 
125     /**
126      * Gets the name of the instructor of record for this
127      * ActivityOffering.
128      *
129      * @name Instructor Display Name
130      * @readOnly
131      * @impl ActivityOffering.OfferingInstructor.Person.name
132      */
133     public String getInstructorName();
134 
135     /**
136      * Indicates that the Activity Offering is an Honors option
137      *
138      * @name Is Honors Offering
139      * @readOnly
140      * @impl 'H' icon displayed if true
141      */
142     public Boolean getIsHonorsOffering();
143 
144     /**
145      * Gets the schedule information for this ActivityOffering
146      *
147      * @readOnly
148      * @impl Consult Scheduling service
149      */
150     public ScheduleDisplay getScheduleDisplay();
151 
152     /**
153      * Total maximum number of "seats" or enrollment slots that can be filled
154      * for the offering. Calculated based on sum of all the maximum seats of
155      * primary activity type offerings
156      *
157      * @readOnly
158      */
159     public Integer getMaximumEnrollment();
160 }