View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.common.ui.client.mvc;
17  
18  
19  /**
20   * Passed in as an argument to Controller.requestModel Because a model may need to be initialized via an asynchronous call,
21   * the request uses a callback to pass the result back to the caller
22   * 
23   * @author Kuali Student Team
24   * @param <T>
25   *            the type of model being requested
26   */
27  public interface ModelRequestCallback<T extends Model> {
28      /**
29       * Called when the model is available
30       * 
31       * @param model
32       *            the model that was requested
33       */
34      public void onModelReady(T model);
35  
36      /**
37       * Called when the controller was unable to provide the model
38       * 
39       * @param cause
40       *            the exception that prevented the model from being provided, or null if the model was simply not located
41       */
42      public void onRequestFail(Throwable cause);
43  }