2008-10-06: Spicelib 1.1.0 enhances Reflection API
The new Spicelib version primarily adds a few features to the Reflection API that were missing in the 1.0 release, most notably support for metadata tags. You can now reflect on metadata tags and optionally map them to custom AS3 classes to have type-safe access to the attributes of metadata tags. The new feature is described in the updated manual.
In the process of polishing the API there was also a bit of refactoring for the type hierarchy, so the Reflection API is not fully backwards compatible to the 1.0.x releases. But if you want to migrate an existing project to the new version the necessary changes should be quite straightforward. If you don't use reflection this release is backwards compatible and can be used as a drop-in replacement for previous releases.
Another improvement that was requested by users on our forum is support for ApplicationDomains in the Reflection API, which is important if you are using Flex Modules or any SWF that gets loaded into a separate ApplicationDomain. If you are using Parsley you have to wait for the upcoming 1.0.2 release which will take advantage of these enhancements in the Spicelib. This Spicelib release is not compatible with the current 1.0.1 release of Parsley.
Other modules of the Spicelib received only minor enhancements. There is now a new NestedError base class for example, that gives you stacktraces that include the stackstraces of the causes of this Error, something you might be accustomed to when you also work with languages like Java.
Finally from now on we will include individual SWCs for the modules of the Spicelib in addition to the full SWC, so you can just pick the SWCs that you need without cluttering your classpath. A listing for which SWCs you would need to include for a particular module can be found in the manual.
The Spicelib update is the first release in a series of updates that we release for all existing Spicefactory frameworks to prepare for the initial Pimento release. The next update will be Cinnamon 0.3.0 in about two weeks, followed by Parsley 1.0.2 and finally Pimento itself.
You can download the new version here.
Release Notes - Spicelib AS3 - Version 1.1.0
- [SLA-9] - Add Constructor class to Reflection API
- [SLA-16] - Add Metadata class to Reflection API
- [SLA-29] - Add WeakReference class
- [SLA-31] - Add EventInfo class to Reflection API
- [SLA-33] - Add default values to Expression Framework
- [SLA-34] - Provide SWCs for individual Spicelib modules
- [SLA-35] - Add AbstractMethodError class
- [SLA-46] - Add support for mapping metadata tags to custom classes
- [SLA-2] - Add NestedError class
- [SLA-3] - Add NestedErrorEvent class
- [SLA-5] - Refactor all existing Error classes to be sublcasses of NestedError
- [SLA-25] - Support ApplicationDomains in Reflection API
- [SLA-30] - Property.setValue should return the (probably) converted value as it was applied to the target instance
- [SLA-36] - Filter namespace scoped methods in Reflection API
- [SLA-37] - Filter private classes in Reflection API
- [SLA-38] - Split project into separate source folders corresponding to the planned module SWCs
- [SLA-39] - Remove dependencies to the logging package in the core packages
- [SLA-41] - Change parameter type for LogFactory.addLogLevel
- [SLA-44] - Add ClassInfo.simpleName property
- [SLA-45] - Refactor class hierarchy for Reflection API
- [SLA-28] - Fix locationURI for Flex SDK in .project file
- [SLA-32] - Update manual to include the additions to the Reflection API
- [SLA-40] - Add section in the manual for the new module SWCs