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 }