Controller.java :  » App » smsselector » com » rudolfheszele » smsselector » controller » Android Open Source

Android Open Source » App » smsselector 
smsselector » com » rudolfheszele » smsselector » controller » Controller.java
package com.rudolfheszele.smsselector.controller;

import com.rudolfheszele.smsselector.view.View;

/**
 * This interface is used to communicate with every kind of controller
 * @author Rudolf Heszele
 * @version 0.2
 */
public interface Controller
{
  /**
   * This method is used to register a View to the controller
   * @param view The view which will be handled by the controller
   * @see View
   */
  void registerView(View view);
  
  /**
   * This method is called, when a view is need to be updated
   * @param view The view which needs to be updated
   * @see View
   */
  void updateView(View view);
  
  /**
   * This method is used to execute GUI related tasks on a View
   * @param viewId the id of the View the task needs to be executed on
   * @param task The task to be executed
   */
  void updateGui(int viewId, Runnable task);
  
  /**
   * This method returns the View associated with the given id
   * @param viewId The id of the View
   * @return The View with the specified id
   */
  View getView(int viewId);
  
  /**
   * This method is invoked from the View when a menu is needed
   * @param view The View where the menu needed on
   * @param menu The object holding the menu itself
   * @param clicked The object which the menu was invoked on. Null if it is not a context menu
   * @return false if a problem occurred true otherwise
   */
  boolean buildMenu(View view, Object menu, Object clicked);
  
  /**
   * This method is invoked from a view when a menu is chosen
   * @param view The view where the choosing happened
   * @param menu The menu which  was clicked
   * @return false if a problem occurred true otherwise
   */
  boolean menuClicked(View view, Object menu);
  
  /**
   * This method is invoked, when the View's state has to be saved
   * @param viewId The id of the view to be stored
   * @param state The object to hold every needed data
   */
  void saveState(int viewId, Object state);
  
  /**
   * This method is invoked, when the View's state has to be restored
   * @param viewId The id of the view to be restored
   * @param state The object to restore every needed data from
   */
  void restoreState(int viewId, Object state);
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.