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 }