1 package org.kuali.student.ap.schedulebuilder.infc;
2
3 import org.kuali.student.r2.common.infc.HasId;
4 import org.kuali.student.r2.common.infc.RichText;
5
6 import java.util.List;
7
8 /**
9 * Represents a possible schedule option.
10 *
11 * @author Mark Fyffe <mwfyffe@iu.edu>
12 * @version 1.1
13 */
14 public interface PossibleScheduleOption extends HasId, ScheduleBuildOption {
15
16 /**
17 * Get the ID of the term this is a possible schedule option for.
18 * @return The id of the term
19 */
20 String getTermId();
21
22 /**
23 * Describe this possible schedule option as HTML.
24 *
25 * <p>
26 * The method is used to dynamically refresh the possible schedule list on
27 * the front end using JSON rather than KRAD rendering.
28 * </p>
29 *
30 * @return An HTML description of this possible schedule option.
31 */
32 RichText getDescription();
33
34 /**
35 * Get the activity options associated with this possible schedule.
36 *
37 * @return The activity options associated with this possible schedule.
38 */
39 List<ActivityOption> getActivityOptions();
40
41 }