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.courseoffering.infc; 17 18 import java.util.List; 19 20 import org.kuali.student.r2.common.infc.IdEntity; 21 22 /** 23 * A Format Offering specifies the allowable Activity Offering Types 24 * that may be offered. 25 * 26 * @author tom 27 */ 28 public interface FormatOffering 29 extends IdEntity { 30 31 /** 32 * The Course Offering Id to which this Format Offering belongs. 33 * 34 * @name Course Offering Id 35 * @required 36 * @readOnly 37 */ 38 public String getCourseOfferingId(); 39 40 /** 41 * Canonical Format this Format Offering corresponds 42 * to. Currently, this is optional and Format Offerings may not 43 * directly map to any canonical Format. 44 * 45 * @name Format Id 46 */ 47 public String getFormatId(); 48 49 /** 50 * Academic term the format is being offered in. 51 * 52 * Same as course offering term or a nested term of course 53 * offering. 54 * 55 * @name Term Id 56 * @required 57 * @readonly 58 * @impl map to Lui.getAtpId 59 */ 60 public String getTermId(); 61 62 /** 63 * The short name for this Format Offering, such as LC or LC/LB. 64 * 65 * @name Short Name 66 */ 67 public String getShortName(); 68 69 /** 70 * Gets a list of Activity Offering Types within this Format 71 * Offering. 72 * 73 * @name Activity Offering Types 74 */ 75 public List<String> getActivityOfferingTypeKeys(); 76 77 /** 78 * Key indicating the level at which grade rosters should be generated - 79 * activity, format or course. TODO: define these types. TODO: add a service 80 * method to get the list of types that can be put in this field. 81 * 82 * @name Grade Roster Level Key 83 * @impl this should be a constrained the a list types generated from the 84 * roster types from the generic type system. 85 */ 86 public String getGradeRosterLevelTypeKey(); 87 88 89 /** 90 * Indicates what activity type does the final exam exist in 91 * 92 * @name Final Exam Level Type Key 93 */ 94 public String getFinalExamLevelTypeKey(); 95 }