001 package org.kuali.student.lum.program.client.events;
002
003 import com.google.gwt.event.shared.EventHandler;
004 import com.google.gwt.event.shared.GwtEvent;
005 import org.kuali.student.lum.program.client.ProgramStatus;
006
007 /**
008 * @author Igor
009 */
010 public class StateChangeEvent extends GwtEvent<StateChangeEvent.Handler> {
011
012 public static Type<Handler> TYPE = new Type<Handler>();
013
014 private ProgramStatus programStatus;
015
016 public StateChangeEvent(ProgramStatus programStatus) {
017 this.programStatus = programStatus;
018 }
019
020 public ProgramStatus getProgramStatus() {
021 return programStatus;
022 }
023
024 @Override
025 public Type<Handler> getAssociatedType() {
026 return TYPE;
027 }
028
029 @Override
030 protected void dispatch(Handler handler) {
031 handler.onEvent(this);
032 }
033
034 public static interface Handler extends EventHandler {
035 void onEvent(StateChangeEvent event);
036 }
037 }