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 }