1 /**
2 * Copyright 2013 The Kuali Foundation Licensed under the
3 * Educational Community License, Version 2.0 (the "License"); you may
4 * not use this file except in compliance with the License. You may
5 * obtain a copy of the License at
6 *
7 * http://www.osedu.org/licenses/ECL-2.0
8 *
9 * Unless required by applicable law or agreed to in writing,
10 * software distributed under the License is distributed on an "AS IS"
11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 *
15 * Created by Charles on 7/17/13
16 */
17 package org.kuali.student.enrollment.class2.courseofferingset.service.facade;
18
19 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
20 import org.kuali.student.r2.common.exceptions.OperationFailedException;
21
22 /**
23 * This serves to cache a mapping between source schedule request sets and target schedule request sets
24 * in support of rolling over co-located AO IDs.
25 *
26 * @author Kuali Student Team
27 */
28 public interface RolloverAssist {
29 public String getRolloverId();
30 public boolean deleteRolloverId(String rolloverId);
31 public boolean mapSourceSRSIdToTargetSRSId(String rolloverId, String sourceSRSId, String targetSRSId)
32 throws OperationFailedException;
33 public String getTargetSRSId(String rolloverId, String sourceSRSId) throws DoesNotExistException;
34
35 /**
36 * Maps shared waitlists from source term to target term. If they aren't shared, this isn't used.
37 * @param rolloverId A time stamp used to identify this particular rollover
38 * @param sourceWaitlistId A waitlist ID in the source term for CourseWaitListInfo
39 * @param targetWaitlistId A waitlist ID in the target term for CourseWaitListInfo
40 * @return true if if there is a rolloverId in the hashmap
41 */
42 public boolean mapSourceSharedWaitlistIdToTargetSharedWaitlistId(String rolloverId,
43 String sourceWaitlistId,
44 String targetWaitlistId) throws OperationFailedException;
45
46 /**
47 * Returns a target waitlist ID assuming rollover ID and sourceWaitlistId exists
48 * @param rolloverId Rollover ID
49 * @param sourceWaitlistId ID for shared source waitlist
50 * @return target waitlist ID
51 * @throws DoesNotExistException
52 */
53 public String getTargetSharedWaitlistId(String rolloverId, String sourceWaitlistId) throws DoesNotExistException;
54 }