package de.dtele.providers.events {
  
  import flash.events.Event;
  
  /**
   * Notification for provider changes
   * 
   * @author Mathias Brodala
   */
  public class ProviderEvent extends Event {
   
   /* Constants */
   /**
    * The ProviderEvent.ADDED constant defines the value of the 
    * <code>type</code> property of the event object 
    * for a <code>providerAdded</code> event.
    * 
    * @eventType providerAdded
    */
    public static const ADDED:String = "providerAdded";
    /**
     * The ProviderEvent.REMOVED constant defines the value of the 
     * <code>type</code> property of the event object 
     * for a <code>providerRemoved</code> event.
     * 
     * @eventType providerRemoved
     */
    public static const REMOVED:String = "providerRemoved";
    
    /* Properties */
    private var _provider:Object;
    /**
     * The provider this event was dispatched for
     */
    public function get provider():Object {
      return _provider;
    }
    
    /* Methods */
    public function ProviderEvent(type:String, provider:Object, bubbles:Boolean=false, cancelable:Boolean=false) {
      
      super(type, bubbles, cancelable);
      this._provider = provider;
    }
  }
}