package com.yoeunpen.net { /** * The Event class associated with Emailer events. * An email can either be successfully sent, or encounter an error. * * @author Yoeun Pen * @version 2.0 */ import flash.events.Event; public class EmailerEvent extends Event { // event types static public const SENT:String = "SENT"; static public const ERROR:String = "ERROR"; // error types static public const NO_ERROR:int = 0; static public const UNKNOWN_ERROR:int = 1; static public const MISSING_FIELDS:int = 2; static public const INVALID_EMAIL:int = 3; static public const CONNECTION_ERROR:int = 4; static public const CANNOT_SEND:int = 5; static public const XML_ERROR:int = 6; // error-specific member variables public var errorID:int = NO_ERROR; public var errorMessage:String; /** * Constructor * * @param type Event type: success or error * @param errID [Optional] Error ID * @param errMsg [Optional] Error message * @param bubbles Indicates whether an event is a bubbling event. * @param cancelable Indicates whether the behavior associated with the event can be prevented. */ public function EmailerEvent(type:String, errID:int=0, errMsg:String="", bubbles:Boolean=false, cancelable:Boolean=false) { errorID = errID; errorMessage = errMsg; super(type, bubbles, cancelable); } override public function toString():String { var str:String = "EmailerEvent[type="+type; if (type != SENT) { str += ", errorID="; switch (errorID) { case MISSING_FIELDS: str += "MISSING_FIELDS"; break; case INVALID_EMAIL: str += "INVALID_EMAIL"; break; case CONNECTION_ERROR: str += "CONNECTION_ERROR"; break; case CANNOT_SEND: str += "CANNOT_SEND"; break; case XML_ERROR: str += "XML_ERROR"; break; case UNKNOWN_ERROR: default: str += "UNKNOWN_ERROR"; break; } str += ", errorMessage=\""+errorMessage+"\""; } str += "]"; return str; } } }