Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
RegistrationRequestItem |
|
| 1.0;1 |
1 | /* | |
2 | * Copyright 2011 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.courseregistration.infc; | |
18 | ||
19 | import org.kuali.student.r2.common.infc.Entity; | |
20 | import org.kuali.student.r2.common.infc.IdEntity; | |
21 | ||
22 | /** | |
23 | * Represents a single transaction item for a Student and Registration | |
24 | * Group. | |
25 | * | |
26 | * The possible types of RegistrationRequestItem are ADD, DROP, SWAP | |
27 | * or UPDATE. These types represent adding (waitlisting, holdlisting), | |
28 | * dropping courses, swapping sections, or changing the registration | |
29 | * options. | |
30 | * | |
31 | * The Transaction Item Type indicates if this is for an ADD, DROP, | |
32 | * SWAP or UPDATE. | |
33 | * | |
34 | * 1. Register for course - RegistrationRequestItem Type is ADD, | |
35 | * newRegistrationGroupId is the RegistrationGroup. | |
36 | * | |
37 | * 2. Register for course but waitlist if seat not available OR | |
38 | * waitlist for course - same as above and okToWaitlist is true. | |
39 | * | |
40 | * 3. Swap between RegistrationGroup within same CourseOffering - Type | |
41 | * is SWAP, both new and existing RegistrationGroup Ids populated. New | |
42 | * RegistrationGroup is to be the one replaced with the old | |
43 | * one. RegistrationGroups are in the same CourseOffering. | |
44 | * | |
45 | * @author Kuali Student Team (sambit) | |
46 | */ | |
47 | ||
48 | public interface RegistrationRequestItem | |
49 | extends IdEntity { | |
50 | ||
51 | /** | |
52 | * The RegistrationRequest to which this item belongs. | |
53 | * | |
54 | * @name Registration Request Id | |
55 | * @readOnly | |
56 | */ | |
57 | public String getRegistrationRequestId(); | |
58 | ||
59 | /** | |
60 | * The Student to which this request item applies. | |
61 | * | |
62 | * @name Student Id | |
63 | * @required | |
64 | * @readOnly on update | |
65 | */ | |
66 | public String getStudentId(); | |
67 | ||
68 | /** | |
69 | * The RegistrationGroup to which the student will be registered | |
70 | * upon a successful submission of this item. This is populated | |
71 | * for ADD, DROP, UPDATE and SWAP types of | |
72 | * RegistrationRequestItems. | |
73 | * | |
74 | * @name Registration Group Id | |
75 | * @impl LprTransactionItem.newLuiId | |
76 | */ | |
77 | public String getNewRegistrationGroupId(); | |
78 | ||
79 | /** | |
80 | * In the case of a DROP or SWAP, the "existing" registration | |
81 | * group Id indicates the current RegistrationGroup to which the | |
82 | * student is currently registered. For an ADD, this field should | |
83 | * be null. | |
84 | * | |
85 | * @name Existing Registration Group Id | |
86 | * @impl LprTransactionItem.existingLuiId | |
87 | */ | |
88 | public String getExistingRegistrationGroupId(); | |
89 | ||
90 | /** | |
91 | * The desired number of credits. This value is a number | |
92 | * represented as a string. | |
93 | * | |
94 | * @name Credits | |
95 | * @impl LprTransactionItem.ResultValuesGroups filtering on the | |
96 | * ResultValuesGroup Type for a credit option. | |
97 | */ | |
98 | public String getCredits(); | |
99 | ||
100 | /** | |
101 | * The requested grading scheme option (e.g. A-F or Pass/Fail). | |
102 | * | |
103 | * @name Grading Option Id | |
104 | * @impl LprTransactionItem.ResultValuesGroups filtering on the | |
105 | * ResultValuesGroup Type for a grade system | |
106 | */ | |
107 | public String getGradingOptionId(); | |
108 | ||
109 | // revisit these flags | |
110 | /** | |
111 | * If the course is full and there is a waitlist, is it okay to be | |
112 | * placed in the waitlist for the course. | |
113 | * | |
114 | * @name Ok To Waitlist | |
115 | */ | |
116 | public Boolean getOkToWaitlist(); | |
117 | ||
118 | /** | |
119 | * If the student does not meet one of the requirements for the course but | |
120 | * there is a list for such students because the requirement ends at a | |
121 | * future date, is it okay to be placed in such a list. | |
122 | * | |
123 | * @name Ok To Holdlist | |
124 | */ | |
125 | public Boolean getOkToHoldList(); | |
126 | } |