1 /**
2 * Copyright 2012 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 10/29/12
16 */
17 package org.kuali.student.enrollment.class2.courseoffering.dao;
18
19 import org.kuali.student.enrollment.class2.courseoffering.model.ActivityOfferingClusterEntity;
20 import org.kuali.student.r2.common.dao.EntityDao;
21
22 import java.util.List;
23
24 /**
25 * This makes it easier to provide an ActivityOfferingClusterDao mock should the need arise.
26 *
27 * @author Kuali Student Team
28 */
29 public interface ActivityOfferingClusterDaoApi extends EntityDao<String, ActivityOfferingClusterEntity> {
30 /**
31 * Fetch all ActivityOfferingClusterEntity objects associated with the formatOfferingId
32 * @param formatOfferingId ID for a format offering
33 * @return List of ActivityOfferingClusterEntity objects
34 */
35 List<ActivityOfferingClusterEntity> getByFormatOffering(String formatOfferingId);
36
37 /**
38 * Fetches all AO Ids within the cluster
39 * @param activityOfferingClusterId The AO cluster ID to use
40 * @return List of AO Ids (as strings)
41 */
42 List<String> getActivityOfferingIdsByClusterId(String activityOfferingClusterId);
43
44 /**
45 * Returns all ActivityOfferingClusterEntities that map back to a single course offering
46 * @param courseOfferingId
47 * @return
48 */
49 List<ActivityOfferingClusterEntity> getByCourseOffering(String courseOfferingId);
50 }