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  import org.kuali.student.common.ui.client.configurable.mvc.views.SectionView;
19  import org.kuali.student.common.ui.client.mvc.breadcrumb.BreadcrumbSupport;
20  import org.kuali.student.common.ui.client.mvc.history.HistorySupport;
21  
22  import com.google.gwt.user.client.ui.Widget;
23  
24  /**
25   * Interface defining the operations necessary to implement a view.
26   * 
27   * @author Kuali Student Team
28   */
29  public interface View extends HistorySupport, BreadcrumbSupport {
30      /**
31       * Called by controller before the view is displayed to allow lazy initialization or any other preparatory work to be
32       * done.  Executes the callback with true if when the view is ready to be shown.
33       */
34      public void beforeShow(Callback<Boolean> onReadyCallback);
35  
36      /**
37       * Called by the controller before the view is hidden to allow the view to perform cleanup or request confirmation from
38       * the user, etc. Can cancel the action by returning false.
39       * 
40       * @return true if the view can be hidden, or false to cancel the action.
41       */
42      public boolean beforeHide();
43  
44      /**
45       * Returns the controller associated with the view
46       * 
47       * @return
48       */
49      public Controller getController();
50  
51      /**
52       * Returns the view's name
53       * 
54       * @return
55       */
56      public String getName();
57      
58      public Enum<?> getViewEnum();
59  
60      /** 
61       * Can be called to reset a view to a cleared state.
62       *
63       */
64      public void clear();
65      
66      /**
67       * Updates the model with information from this view. If this view does not need to update the model
68       * leave this method empty.
69       */
70      public void updateModel();
71      
72      /**
73       * Get the attachable widget which represents this view
74       * @see SectionView
75       * @return
76       */
77      public Widget asWidget();
78      
79      /**
80       * 
81       * This method needs to be implemented only on views that want the export button to display.
82       * The default implementation is not to display the export button
83       * 
84       * @return
85       */
86      public boolean isExportButtonActive();
87      
88      public void showExport(boolean show);
89      
90      
91  }