View Javadoc

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  }