updates

1. deepsplink 0.9.0 there are various new IRequestBuilder implementations to provide different page transition orders. Here is a quick configuration excerpt:

 <pages request="hide-initshow-finalize">
 <page id="home" clazz="Test" />
 <page id="p1" clazz="Test" />
 <page id="p2" clazz="Test" />
 <page id="p3" clazz="Test" request="init-show-hide-finalize">
 <page id="p4" clazz="Test" />
 <page id="p5" clazz="Test" />
 </page>
 </pages>
 

All pages beneath a page whose request attribute has been set are processed by the configured request until a page has configured a different IRequestBuilder which then is used to process the pages beneath that page. This mechnism is very flexible and should enable to cover a lot of requirements. However, you can always add your own custom IRequestBuilder implementations if the default ones don't suffice. The deepsplink configuration data classes now have a 'toXML' method which spits out the configuration xml recursively. The boot package now provides two default bootstrappers (ExternalConfigBootstrapper, XmlConfigBootstrapper) which should cover most usecases. For special requirements it is quick and easy to write a custom bootstrapper.

new ExternalConfigBootstrapper("config.xml", new BootStrategy(this)).start()

Finally the framework and sample codebase has been updated to use the latest splinklibrary and splinkresource releases (both 1.1.0) 2. splinkresource 1.1.0 The configuration data beans now have a 'toXML' method which spits out the configuration xml recursively just like the deepsplink configuration does. Finally the time had come to change all the explicit to implicit getters because implicit getters are more concise, hide more information from the client (is it a var or a method) and thus allow more changes without affecting client code because of public API changes ;) 3. splinklibrary 1.1.0 As deepsplink makes heavy use of splinklibrarys tree package some things needed improvement: The TreeUtils class has been removed and it's static methods were shifted to the Tree class which seemed much more compact and suitable. While at it I also added a static convenience methods

visit(node : INode, fnc : Function) : void 
clone(node : INode) : INode 

Finally, to gain more flexibility for a low level component like a Node I decided to introduce the INode interface and use implicit getters.

Posted

0 comments

Leave a comment...