Fixed: robotlegs#25
Fixed: robotlegs#24
CommandMap Abstract Event Injection
For event-triggered commands the event is now also mapped to “Event”. For example:
[Inject] public var abstractEvent:Event;
[Inject] public var concreteEvent:SomeEvent;
MVCS Mediator
Added syntactic sugar methods removeViewListener() and removeContextListener()
SwiftSuspenders
Updated SwiftSuspenders to v1.6.0
ViewMap & MediatorMap
contextView stage listener optimizations.
MediatorMap
Added IMediatorMap#hasMapping(viewClassOrName:*):Boolean;
ApplicationDomain
Added applicationDomain getter/setter to IInjector to help with Application Domains.
MediatorMap.mapView
The injectViewAs parameter is changed from expecting a Class to expecting a Class or an Array of Classes.
ASDocs
Build script updated to bundle ASDocs into SWC for inline display in Flash Builder 4. Build needs to be run against Flex SDK 4.x
Mediator
Fixed: http://github.com/robotlegs/robotlegs-framework/issues/#issue/6
SwiftSuspenders
Updated SwiftSuspenders to v1.5.1
PLEASE NOTE: mapValue no longer injects into the value instance – the old behaviour was incorrect.
Injector
Added IInjector#hasMapping(clazz:Class, named:String = ""):Boolean;
Added IInjector#getInstance(clazz:Class, named:String = ""):*;
Added IInjector#createChild():IInjector;
CommandMap
Added ICommandMap#execute(commandClass:Class, payload:Object = null, payloadClass:Class = null, named:String = ’’):void
Added ICommandMap#unmapEvents() – unmaps all event mappings
Added ICommandMap#detain() and release() – enables Async Commands
Mediator
Added mvcs.Mediator EventMap Sugar: addViewListener() and addContextListener()
Misc
mvcs.Context: CommandMap and MediatorMap are handed child injectors – to enable non-destructive temporary mappings.
Deprecated IContextProvider
Fixed: http://github.com/robotlegs/robotlegs-framework/issues#issue/2
Fixed: http://github.com/robotlegs/robotlegs-framework/issues#issue/2
Updated SwiftSuspenders to v1.0.1
Whammo, and the Robot has Legs. We managed to avoid hitting double digits for the RCs!
Fixes to SwiftSuspenders
Added IMediatorMap.unmapView()
ViewMap.mapClass() changed to ViewMap.mapType()
Internal changes: ContextBase cleaned up – initialize() removed. Overriding the default apparatus:
public function MyContext() {injector = new SwiftSuspendersInjector(xmlConfig);
super();
}
Fixes to SwiftSuspenders
Removed nometa package
CommandMap Bug fix
No changes
Removed ICommand
MediatorMap
Merged MediatorMap#mapModule into MediatorMap#mapView
New view mapping signature
mapView(viewClassOrName:*, mediatorClass:Class, injectViewAs:Class = null, autoCreate:Boolean = true, autoRemove:Boolean = true):void
Enabled XML configuration of injection points
Added the dispatch() helper method back to mvcs actors
Removed named injection points
MediatorMap
Enabled automatic creation of mediator for contextView if mapped
ContextBase
Made all ContextBase constructor arguments optional to enable declarative (mxml) Context instantiation
Nometa
Introduced Nometa implementation
Actor
Unified Model and Service into Actor
Removed Model
Removed Service
EventMap
Added strong event mapping to EventMap
CommandMap
Re-ordered the mapping arguments
From: mapEvent(commandClass:Class, eventType:String, eventClass:Class = null, oneshot:Boolean = false):void
To: mapEvent(eventType:String, commandClass:Class, eventClass:Class = null, oneshot:Boolean = false):void
Removed dispatchEvent() helper method – Again, really sorry about that little mixup there
Mediator
addEventListenerTo() becomes eventMap.mapListener()
Proxy renamed to Model
CommandMap bugfix
No changes!
dispatch() helper method renamed to dispatchEvent()
Removed as3commons-logging
Removed EventBroadcaster
MediatorFactory renamed to MediatorMap
CommandFactory renamed to CommandMap
IInjector.bind* renamed to IInjector.map*
ICommandMap
CommandMap now accepts optional Event class parameter for stronger mapping.
The argument order had to be re-arranged so that the optional eventClass would come after the mandatory commandClass.
From: mapEvent(type:String, commandClass:Class, oneshot:Boolean = false):void;
To: mapEvent(commandClass:Class, eventType:String, eventClass:Class = null, oneshot:Boolean = false):void;
Constructor Injection
Changed all automated instantiation to use IInjector#instantiate to enable constructor injection, changed DI adapters accordingly and added new SwiftSuspenders support constructor injection
Bonus Adapters Removed
Removed Spring Action Script and SmartyPants-IOC adapters (they can be installed separately)
Added adapters for SwiftSuspenders
FlexMediator decoupled from Flex and merged into Mediator
Removed FlexMediator
Added dispatch() helper method
Introduced as3commons-logging
IMediator.onRegisterComplete renamed to IMediator.onRegister
net.boyblack.robotlegs.* renamed to org.robotlegs.*
Added Spring ActionScript adapters
Provided adapters: SmartyPants-IOC
Provided adapters: SpringActionScript
Introduced DI and reflection adapters
Provided adapters: SmartyPants-IOC
Proof-of-concept prototype