| Package | org.puremvc.as3.interfaces | 
| Interface | public interface IMediator | 
| Implementors | Mediator | 
  In PureMVC, IMediator implementors assume these responsibilities:
INotifications 
  the IMediator has interest in.
  Additionally, IMediators typically:
  
INotifications, interacting with of 
  the rest of the PureMVC app.
  
  When an IMediator is registered with the IView, 
  the IView will call the IMediator's 
  listNotificationInterests method. The IMediator will 
  return an Array of INotification names which 
  it wishes to be notified about.
  The IView will then create an Observer object 
  encapsulating that IMediator's (handleNotification) method
  and register it as an Observer for each INotification name returned by 
  listNotificationInterests.
A concrete IMediator implementor usually looks something like this:
  import org.puremvc.as3.patterns.mediator.*;
  import org.puremvc.as3.patterns.observer.*;
  import org.puremvc.as3.core.view.*;
  
  import com.me.myapp.model.*;
  import com.me.myapp.view.*;
  import com.me.myapp.controller.*;
    
  import mx.controls.ComboBox;
  import mx.events.ListEvent;
  
  public class MyMediator extends Mediator implements IMediator {
  
    public function MyComboMediator( viewComponent:Object ) {
     super( viewComponent );
     combo.addEventListener( Event.CHANGE, onChange );
    }
    
    override public function listNotificationInterests():Array {
      return [ MyFacade.SET_SELECTION, 
         MyFacade.SET_DATAPROVIDER ];
    }
  
    override public function handleNotification( notification:INotification ):void {
      switch ( notification.getName() ) {
       case MyFacade.SET_SELECTION:
        setSelection(notification);
        break;
       case MyFacade.SET_DATAPROVIDER:
        setDataProvider(notification);
        break;
      }
    }
  
    // Set the data provider of the combo box
    protected function setDataProvider( notification:INotification ):void {
     combo.dataProvider = notification.getBody() as Array;
    }
  
    // Invoked when the combo box dispatches a change event, we send a
       // notification with the
    protected function onChange(event:ListEvent):void {
     sendNotification( MyFacade.MYCOMBO_CHANGED, this );
    }
  
    // A private getter for accessing the view object by class
       protected function get combo():ComboBox  {
          return view as ComboBox;
       }
  
  }
  See also
| Method | Defined by | ||
|---|---|---|---|
| 
getMediatorName():String 
   Get the  IMediatorinstance name | IMediator | ||
| 
getViewComponent():Object 
   Get the  IMediator's view component. | IMediator | ||
| 
handleNotification(notification:INotification):void 
   Handle an  INotification. | IMediator | ||
| 
listNotificationInterests():Array 
   List  INotificationinterests. | IMediator | ||
| 
onRegister():void 
   Called by the View when the Mediator is registered
    | IMediator | ||
| 
onRemove():void 
   Called by the View when the Mediator is removed
    | IMediator | ||
| 
setViewComponent(viewComponent:Object):void 
   Set the  IMediator's view component. | IMediator | ||
| getMediatorName | () | method | 
public function getMediatorName():String
   Get the IMediator instance name
   
   
| String— theIMediatorinstance name | 
| getViewComponent | () | method | 
public function getViewComponent():Object
   Get the IMediator's view component.
   
   
| Object— Object the view component | 
| handleNotification | () | method | 
public function handleNotification(notification:INotification):void
   Handle an INotification.
   
   
| notification:INotification— theINotificationto be handled | 
| listNotificationInterests | () | method | 
public function listNotificationInterests():Array
   List INotification interests.
   
   
| Array— anArrayof theINotificationnames thisIMediatorhas an interest in. | 
| onRegister | () | method | 
public function onRegister():voidCalled by the View when the Mediator is registered
| onRemove | () | method | 
public function onRemove():voidCalled by the View when the Mediator is removed
| setViewComponent | () | method | 
public function setViewComponent(viewComponent:Object):void
   Set the IMediator's view component.
   
   
| viewComponent:Object— the view component |