We have just released a new version of the as2lib - Open Source ActionScript 2.0 Library - 0.9.2.
Highlight of this release is the revised Aspect Oriented Programming (AOP) framework.
- WithinPointcut - Capture join points based on their lexical-structure.
- NotPointcut - Capture pointcuts based on characteristics they are not allowed to have.
- ’super’ - Advised join points can use ’super’ now.
- And of course a lot of bug fixes were made.
All Features at a Glance
- Event Handling - org.as2lib.env.event
- Exception Handling - org.as2lib.env.except
- Logging - org.as2lib.env.log
- Overloading - org.as2lib.env.overload
- Reflections - org.as2lib.env.reflect
- Aspect Oriented Programming (AOP) - org.as2lib.aop
- Data Holders/Structures and Iterators - org.as2lib.data.holder
- Numerical Types - org.as2lib.data.type
- Connections - org.as2lib.io.conn
- Unit Testing - org.as2lib.test.unit
- Mock Object - org.as2lib.test.mock
- Speed Testing (Profiler) - org.as2lib.test.speed
- Application (Process and Configuration) - org.as2lib.app
- Utilities for Arrays, Strings, Classes, … - org.as2lib.util
Download As2lib Release 0.9.2.
View the API Documentation online.
If you find bugs, if you need a new feature, if you need help or if you want to discuss functionalities or anything else with us, please use the appropriate response mechanism: Response.
We depend on the feedback from the community to improve the framework.
I hope you enjoy this new release (and remember we are not far away from release 1.0 ;).

2 Responses to “As2lib 0.9.2, Released!”
This is great news Simon. I can finally get my StackAspect working with the super fixes.
Hi Scott,
nice to hear that. I’d like to hear about your experiences with the AOP framework and how it can be improved.
(Some advice to prevent unnecessary headache)
If you try to weave advices into all classes you must keep care of Object. Because it may lead to unexpected behavior if you weave code into Object.valueOf. You can exclude Object from your pointcut by adding a within-pointcut: !within(Object).
You may also specify a namespace for the classes to weave-in. Either in the weaver (this will improve performance) or in the pointcut pattern: execution(com.myproject..*.*()). If you also wanna capture static (per class) methods you must specify that in the pattern: execution(* com.myproject..*.*()).
You should also exclude the StackAspect.
Greetings,
Simon