1 package org.kuali.student.lum.program.server;
2
3 /**
4 * This interface allows us to inject a different StateChangeService implementation for each of
5 * the program types (credential, core, major discipline) using the spring configuration.
6 *
7 * @author Kuali Rice Team (kuali-rice@googlegroups.com)
8 *
9 */
10 public interface StateChangeService {
11
12 /**
13 *
14 * This method will eventually be called from the Rice workflow after a major discipline, core, or
15 * credential program passes back into the local workflow. It executes the same code as the other
16 * change state method, but uses null for entry and enroll term, since they will not be available in
17 * the rice workflow (these parameters are entered when a program is superseded)
18 *
19 * @param programId
20 * @param newState
21 * @throws Exception
22 */
23 public void changeState(String programId, String newState) throws Exception;
24
25 /**
26 *
27 * This method is called from the servlet when state is changed in the GWT application (e.g. the user
28 * approves, activates, or creates a new major discipline, credential, or core program)
29 *
30 * @param endEntryTerm
31 * @param endEnrollTerm
32 * @param programId
33 * @param newState
34 * @throws Exception
35 */
36 public void changeState(String endEntryTerm, String endEnrollTerm, String endInstAdmitTerm, String programId, String newState) throws Exception;
37 }