1 /* 2 * Copyright 2010 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 package org.kuali.student.enrollment.courseofferingset.infc; 17 18 import java.util.Date; 19 import java.util.List; 20 import org.kuali.student.r2.common.infc.IdNamelessEntity; 21 import org.kuali.student.r2.common.infc.RichText; 22 23 /** 24 * Read only object that holds the results of a rollover process 25 * 26 * @author nwright 27 */ 28 public interface SocRolloverResult 29 extends IdNamelessEntity { 30 31 /** 32 * The id of the source soc 33 * 34 * @name Source Soc Id 35 * @readOnly 36 * @required 37 * @impl set during the #rolloverSoc operation 38 */ 39 public String getSourceSocId(); 40 41 /** 42 * Academic target term of the courses that were rolled over 43 * 44 * @name Target Term Id 45 * @readOnly 46 * @required 47 * @impl set during the #rolloverSoc operation 48 */ 49 public String getTargetTermId(); 50 51 /** 52 * Option Keys specified to control the rollover process 53 * 54 * @name Option Keys 55 * @readOnly 56 * @required 57 * @impl set during the #rolloverSoc operation 58 */ 59 public List<String> getOptionKeys(); 60 61 /** 62 * The id of the target Soc 63 * 64 * Note: this Soc could have already existed or it may have been created 65 * based on the source soc but for the new term. 66 * 67 * @name Target Soc Id 68 * @readOnly 69 * @required 70 * @impl set during the #rolloverSoc operation 71 */ 72 public String getTargetSocId(); 73 74 /** 75 * Number of items processed 76 * 77 * @name Items Processed 78 * @impl set during the #rolloverSoc operation 79 */ 80 public Integer getItemsProcessed(); 81 82 /** 83 * Number of items expected to be processed 84 * 85 * @name Items Expected 86 * @impl set during the #rolloverSoc operation 87 */ 88 public Integer getItemsExpected(); 89 90 /** 91 * Messages describing details of the status. 92 * 93 * Often left null if the status is that it is complete. 94 * 95 * @name Message 96 * @impl set during the #rolloverSoc operation 97 */ 98 public RichText getMessage(); 99 100 /** 101 * Number of course offerings created 102 * 103 * @name Course Offerings Created 104 * @readOnly 105 * @impl set during the #rolloverSoc operation 106 */ 107 public Integer getCourseOfferingsCreated(); 108 109 /** 110 * Number of course offerings skipped (not rolled over) 111 * 112 * @name Course Offerings Skipped 113 * @readOnly 114 * @impl set during the #rolloverSoc operation 115 */ 116 public Integer getCourseOfferingsSkipped(); 117 118 /** 119 * Number of activity offerings created 120 * 121 * @name Activity Offerings Created 122 * @readOnly 123 * @impl set during the #rolloverSoc operation 124 */ 125 public Integer getActivityOfferingsCreated(); 126 127 /** 128 * Number of activity offerings skipped (not rolled over) 129 * 130 * @name Activity Offerings Skipped 131 * @readOnly 132 * @impl set during the #rolloverSoc operation 133 */ 134 public Integer getActivityOfferingsSkipped(); 135 136 /** 137 * Get the target term Id 138 * 139 * @name Source Term Id 140 * @readOnly 141 * @impl set during the #rolloverSoc operation 142 */ 143 public String getSourceTermId(); 144 145 /** 146 * Get date that the rollover started on. Date includes hours/minutes/seconds. 147 */ 148 public Date getDateInitiated(); 149 150 /** 151 * Get the date that the rollover completed. Date includes hours/minutes/seconds. 152 */ 153 public Date getDateCompleted(); 154 }