1 package org.kuali.student.enrollment.lpr.infc; 2 3 import java.util.List; 4 5 import org.kuali.student.r2.common.infc.IdEntity; 6 7 /** 8 * A transaction item represents a request for creating a new relation of a 9 * person (student) to a LUI. The transaction item also handle removing, 10 * updating, swapping out an old LUI for a new LUI for a person. 11 * 12 * @author Kuali Student Team (sambit) 13 */ 14 15 public interface LprTransactionItem extends IdEntity { 16 17 /** 18 * The type of the transaction item. 19 * 20 * The types of LPR transaction item are things like ADD, UPDATE, DROP, 21 * and SWAP 22 * 23 * @name Type Key 24 * @required 25 * @readOnly 26 */ 27 @Override 28 public String getTypeKey(); 29 30 /** 31 * The state of this transaction item 32 * 33 * The states of the LPR transaction item are things like DRAFT, SUBMITTED, 34 * and FAILED. etc 35 * 36 * @name State Key 37 * @required 38 * 39 */ 40 @Override 41 public String getStateKey(); 42 43 /** 44 * The person id for whom this request is to generate or update the lpr 45 * 46 * @name Person Id 47 * @required 48 */ 49 public String getPersonId(); 50 51 /** 52 * The identifier of the transaction that contains this transaction item. 53 * @name Transaction Id 54 * @required 55 * @readOnly 56 */ 57 public String getTransactionId (); 58 59 /** 60 * The LUI id for a new relation request. 61 * 62 * @name New LUI Id 63 */ 64 public String getNewLuiId(); 65 66 /** 67 * The existing LUI id for an existing relation remove or change requests. 68 * 69 * @Existing LUI Id 70 */ 71 public String getExistingLuiId(); 72 73 /** 74 * Specify the various request (or registration ) options for creating this 75 * relationship. 76 * 77 * @name Request Options 78 */ 79 public List<? extends LprTransactionItemRequestOption> getRequestOptions(); 80 81 /** 82 * Returns the result for this transaction item once it has been processed. 83 * 84 * @name LPR Transaction Item Result 85 */ 86 public LprTransactionItemResult getLprTransactionItemResult(); 87 88 /** 89 * The keys of the result values groups to be applied to the LPR 90 * once created. 91 * 92 * For example, setting the grading option to pass/fail or the credits to 3 93 * for a course. 94 * 95 * @name Result Values Group Keys 96 */ 97 public List<String> getResultValuesGroupKeys(); 98 99 }