| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| RegRequestItem |
|
| 1.0;1 |
| 1 | package org.kuali.student.enrollment.registration.course.infc; | |
| 2 | ||
| 3 | import org.kuali.student.r2.common.infc.IdEntity; | |
| 4 | ||
| 5 | /** | |
| 6 | * Represents a single reg group in the request to register. This request is | |
| 7 | * also used to request waitlist or drop a course. It has transaction type of | |
| 8 | * either ADD, DROP, SWAP or UPDATE to represent adding (waitlisting, | |
| 9 | * holdlisting), dropping courses or persisting an item from the reg cart with | |
| 10 | * changes to it. It has other options like grading and credit options that a | |
| 11 | * student can specify while registering. There will be options like | |
| 12 | * okToWaitlist, okToHoldList, okToExceptionList which will help specify if the | |
| 13 | * student wants to go to a waitlist/holdlist in case there's no seat | |
| 14 | * availability for the course. A request to waitlist a course should always | |
| 15 | * have okToWaitlist set to true, same for hold or exception lists. | |
| 16 | * <P> | |
| 17 | * ************POSSIBLE SCENARIOS******************************* | |
| 18 | * | |
| 19 | * 1. Register for course - {@link RegRequestItem} Type is ADD , | |
| 20 | * newRegGroupId is the reg group to be registered for | |
| 21 | * | |
| 22 | * 2. Register for course but waitlist if seat not available OR | |
| 23 | * waitlist for course - same as above and okToWaitlist is true | |
| 24 | * | |
| 25 | * 3. Swap between reg group within same course offering - Type is swap, | |
| 26 | * both new and existing reg group ids populated. new is to be the one | |
| 27 | * replaced with the old one. Reg groups are in the same course offering. | |
| 28 | * | |
| 29 | * 4.Save reg request - Type is UPDATE and newRegGroupId is populated | |
| 30 | * | |
| 31 | * | |
| 32 | * @author Kuali Student Team (sambit) | |
| 33 | */ | |
| 34 | public interface RegRequestItem extends IdEntity { | |
| 35 | /** | |
| 36 | * Returns the id of the RegGroup for this item. This is populated for ADD, | |
| 37 | * DROP, UPDATE and SWAP types of RegRequestItem | |
| 38 | * | |
| 39 | * @return | |
| 40 | */ | |
| 41 | public String getNewRegGroupId(); | |
| 42 | ||
| 43 | /** | |
| 44 | * Returns the existing reg group id. The existing reg group field is | |
| 45 | * populated if we have DROP or SWAP types of Request item. | |
| 46 | * | |
| 47 | * @return | |
| 48 | */ | |
| 49 | public String getExistingRegGroupId(); | |
| 50 | ||
| 51 | /** | |
| 52 | * If the course is full and there is a waitlist, is it okay to be placed in | |
| 53 | * the waitlist for the course | |
| 54 | */ | |
| 55 | public Boolean getOkToWaitlist(); | |
| 56 | ||
| 57 | /** | |
| 58 | * If the student does not meet one of the requirements for the course but | |
| 59 | * there is a list for such students because the requirement ends at a | |
| 60 | * future date, is it okay to be placed in such a list. | |
| 61 | * | |
| 62 | * @return | |
| 63 | */ | |
| 64 | public Boolean getOkToHoldList(); | |
| 65 | ||
| 66 | ||
| 67 | /** | |
| 68 | * Specify the preferred grading option for the course e.g. pass/fail since | |
| 69 | * the course allows to specify such options | |
| 70 | * | |
| 71 | * @return | |
| 72 | */ | |
| 73 | public String getGradingOption(); | |
| 74 | ||
| 75 | /** | |
| 76 | * Specify the preferred credit option e.g credit/ no-credit for the course | |
| 77 | * because the course. | |
| 78 | * | |
| 79 | * @return | |
| 80 | */ | |
| 81 | public String getCreditOption(); | |
| 82 | ||
| 83 | } |