FYI: AspectJ (Was: [Biojava-l] Immutable Features)

Thomas Down td2@sanger.ac.uk
Thu, 13 Dec 2001 17:43:07 +0000


On Thu, Dec 13, 2001 at 08:55:33AM -0800, Vladimir G Ivanovic wrote:
> 
> AspectJ (http://aspectj.org) allows you to multiply inherit, provided
> there are no naming conflicts. AspectJ produces either Java bytecode or
> optionally Java source which you can then compile with your favorite
> Java compiler.

Thanks for the pointer -- it looks cool.

I'm not sure this quite addresses the concerns of generating
Feature implementations.  As far as I'm can see, it's really
a tool that you use at compile time.  We're looking at dynamically
creating implementations of interfaces which aren't necessarily
defined in the core BioJava codebase (anyone can add their own
Feature interfaces).  I'm quite keen that this happens without
executing external tools, since those always seem to cause hassle.
I've actually written pretty much all those code to do this
(in process) already, for the feature-projection system.

On the other hand, some of the other uses of AspectJ look
/very/ interesting to me.  In particular, pre- and post-conditions
are something which have always appealed to the paranoiac in
me :-).  I'll take a proper look at this over the holidays!

Thanks again,

    Thomas.