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.rice.core.api.util.type.KualiDecimal; 20 21 import org.kuali.student.r2.common.infc.Relationship; 22 23 import java.util.Date; 24 25 26 /** 27 * Course Registration is the consolidated view of the details of a 28 * student's relation with a course. 29 * 30 * The CourseRegistration is created only upon the successful 31 * registration of the student into the course as a result of a 32 * RegistrationRequest, and not after waitlist or any other type of 33 * relation with the course. 34 */ 35 36 public interface CourseRegistration 37 extends Relationship { 38 39 /** 40 * The person Id for the course registration. 41 * 42 * @name Person Id 43 * @readOnly 44 * @required 45 * @impl Lpr.personId 46 */ 47 public String getPersonId(); 48 49 /** 50 * The Id of the term that governs this registration. 51 * 52 * Note: this typically is the same as the termId on the 53 * associated Course Offering but may be different. This is 54 * especially true if the Course Offering term is a mini within 55 * the main or non-standard term. 56 * 57 * @name Term Id 58 * @readOnly 59 * @required 60 * @impl Lpr.atpId 61 */ 62 public String getTermId(); 63 64 /** 65 * The Course Offering Id for this course registration. 66 * 67 * @name Course Offering Id 68 * @readOnly 69 * @required 70 * @impl Lpr.LuiId 71 */ 72 public String getCourseOfferingId(); 73 74 /** 75 * The registration group Id for this course registration. 76 * 77 * @name Registration Group Id 78 * @readOnly 79 * @required 80 * @impl Lpr.LuiId 81 */ 82 public String getRegistrationGroupId(); 83 84 /** 85 * The number of credits for which the student 86 * registered. Typically, this number should be in the range 87 * defined at the CourseOffering or RegistrationGroup. 88 * 89 * This value is a number represented as a string. 90 * 91 * @name Credits 92 * @impl Lpr.ResultValuesGroup.ResultValuesKeys there should be a 93 * single predefined ResultValuesKey for every valid credit 94 * value within a range of allowable credits. Consult the 95 * ResultValuesGroup Type for credit value types. 96 */ 97 public KualiDecimal getCredits(); 98 99 /** 100 * The Id for the Grading Option for which the student 101 * registered. Typically, this option should be in the allowable 102 * range defined at the CourseOffering or RegistrationGroup. 103 * 104 * @name Grading Option Id 105 * @impl Lpr.ResultValuesGroup consult the ResultValuesGroup Type 106 * for grading system options 107 */ 108 public String getGradingOptionId(); 109 110 /** 111 * The Last Attendance Date. 112 * 113 * @name Last Attendance Date 114 */ 115 public Date getLastAttendanceDate(); 116 117 /** 118 * The code of the crosslisted course. 119 * 120 * For example if ENGL255 is actual course crosslisted with WMST255, 121 * when WMST255 is added id will be the one of ENGL255, and code 122 * WMST255 will be saved in crossList field (for displaying purpose) 123 * 124 * @name Cross Listed Course Code 125 */ 126 public String getCrossListedCode(); 127 }