View Javadoc

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  }