Skip to content

Instantly share code, notes, and snippets.

@neilmanuell
Created May 9, 2011 12:19
Show Gist options
  • Save neilmanuell/962421 to your computer and use it in GitHub Desktop.
Save neilmanuell/962421 to your computer and use it in GitHub Desktop.
Concrete IModuleRequest example
package revisual.modular.requests {
import revisual.modular.core.IModuleRequest;
import revisual.modular.signals.ModuleRequestSignal;
import revisual.modular.signals.RequestCallbackSignal;
import org.osflash.signals.ISignal;
public class ModuleRequest implements IModuleRequest {
private var _id:Object;
private var _moduleRequestSignal:ISignal;
private var _requestCallbackSignal:ISignal;
[Inject]
public function set moduleRequestSignal( value:ModuleRequestSignal ):void {
_moduleRequestSignal = value;
}
public function get callback():ISignal {
return _requestCallbackSignal || ( _requestCallbackSignal = new RequestCallbackSignal());
}
public function get id():Object {
return _id;
}
public function requestData( id:Object ):void {
_id = id;
_moduleRequestSignall.dispatch( this );
}
public function setResults( success:Boolean, payload:Object ):void {
callback.dispatch( success, payload, this );
dispose();
}
public function dispose():void {
_requestCallbackSignal.removeAll();
_moduleRequestSignall = null;
_requestCallbackSignal = null;
_id = null;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment