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 }