1 /*
2 * Copyright 2012 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
17 package org.kuali.student.enrollment.courseoffering.infc;
18
19 import org.kuali.student.r2.common.infc.IdEntity;
20
21 import java.util.List;
22
23 /**
24 * The Activity Offering Cluster lists the allowable combinations of
25 * activity offerings by activity type which will constrain the number
26 * of RegistrationGroup's that will be generated.
27 *
28 * @author Kuali Student Team
29 */
30
31 public interface ActivityOfferingCluster
32 extends IdEntity {
33
34 /**
35 * A display name for this entity. For ActivityOfferingCluster
36 * this represents the published name.
37 *
38 * @name Name
39 */
40 @Override
41 public String getName();
42
43 /**
44 * Private name of ActivityOfferingCluster
45 * @name Private Name
46 */
47 public String getPrivateName();
48
49 /**
50 * Gets the format offering Id to which this template applies.
51 *
52 * @name Format Offering Id
53 * @required
54 */
55 public String getFormatOfferingId();
56
57 /**
58 * Gets the activity offering Id combinations. Each list within
59 * this list contains a list of Activity Offering Ids.
60 *
61 * This rule says that a RegistrationGroup comprising of a single
62 * activity offering Id from each and every list within the
63 * activity offering combinations should be created.
64 *
65 * (needs an example)
66 *
67 * @name Activity Offering Set
68 */
69 public List<? extends ActivityOfferingSet> getActivityOfferingSets();
70 }