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.common.ui.client.mvc.DataModel;
006    
007    /**
008     * @author Igor
009     */
010    public class ModelLoadedEvent extends GwtEvent<ModelLoadedEvent.Handler> {
011    
012        public static Type<Handler> TYPE = new Type<Handler>();
013    
014        private DataModel model;
015    
016        public ModelLoadedEvent(DataModel model) {
017            this.model = model;
018        }
019    
020    
021        @Override
022        public Type<Handler> getAssociatedType() {
023            return TYPE;
024        }
025    
026        @Override
027        protected void dispatch(Handler handler) {
028            handler.onEvent(this);
029        }
030    
031        public DataModel getModel() {
032            return model;
033        }
034    
035        public static interface Handler extends EventHandler {
036            void onEvent(ModelLoadedEvent event);
037        }
038    }