package com.mariusht.puremvcexample.view
{
    import com.mariusht.puremvcexample.ApplicationFacade;
    
    import mx.controls.VideoDisplay;
    
    import org.puremvc.as3.interfaces.IMediator;
    import org.puremvc.as3.interfaces.INotification;
    import org.puremvc.as3.patterns.mediator.Mediator;

    public class VideoMediator extends Mediator implements IMediator
    {
        public static const NAME:String = 'VideoMediator';
        
        public function VideoMediator(viewComponent:VideoDisplay)
        {
            super(NAME, viewComponent);
        }
        
        override public function listNotificationInterests():Array
        {
            return [
                ApplicationFacade.VIDEO_PLAY
            ]
        }
        
        override public function handleNotification(notification:INotification):void
        {
            switch(notification.getName())
            {
                case ApplicationFacade.VIDEO_PLAY:
                    video.play();
                    break;
            }
        }
        
        protected function get video():VideoDisplay
        {
            return viewComponent as VideoDisplay;
        }
    }
}