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.Relationship; 20 21 /** 22 * Course Registration is the consolidated view of the details of a 23 * student's relation with a course. 24 * 25 * The CourseRegistration is created only upon the successful 26 * registration of the student into the course as a result of a 27 * RegistrationRequest, and not after waitlist or any other type of 28 * relation with the course. 29 */ 30 31 public interface CourseRegistration 32 extends Relationship { 33 34 /** 35 * The person Id for the course registration. 36 * 37 * @name Student Id 38 * @readOnly 39 * @required 40 * @impl Lpr.personId 41 */ 42 public String getStudentId(); 43 44 /** 45 * The Course Offering Id for this course registration. 46 * 47 * @name Course Offering Id 48 * @readOnly 49 * @required 50 * @impl Lpr.LuiId 51 */ 52 public String getCourseOfferingId(); 53 54 /** 55 * The number of credits for which the student 56 * registered. Typically, this number should be in the range 57 * defined at the CourseOffering or RegistrationGroup. 58 * 59 * This value is a number represented as a string. 60 * 61 * @name Credits 62 * @impl Lpr.ResultValuesGroup.ResultValuesKeys there should be a 63 * single predefined ResultValuesKey for every valid credit 64 * value within a range of allowable credits. Consult the 65 * ResultValuesGroup Type for credit value types. 66 */ 67 public String getCredits(); 68 69 /** 70 * The Id for the Grading Option for which the student 71 * registered. Typically, this option should be in the allowable 72 * range defined at the CourseOffering or RegistrationGroup. 73 * 74 * @name Grading Option Id 75 * @impl Lpr.ResultValuesGroup consult the ResultValuesGroup Type 76 * for grading system options 77 */ 78 public String getGradingOptionId(); 79 }