Coverage Report - org.kuali.student.enrollment.courseregistration.infc.RegistrationRequestItem
 
Classes in this File Line Coverage Branch Coverage Complexity
RegistrationRequestItem
N/A
N/A
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  
 }