ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <dona...@apache.org>
Subject [ant2] High Order Aspects
Date Sun, 17 Jun 2001 08:18:50 GMT
Hi,

So far we have discussed and thrown about implementation ideas for low level 
aspects (ie those that change the TaskModel/ContextClassLoader/Logger 
priority etc).

We have yet to discuss any of the higher order aspects such as those needed 
by GUMP. They are higher order as they require cooperation from the task to 
complete the action. 

For instance to support the features required by gump the tasks have to be 
willing to obey ClassPath directives given by AspectHandler implementation. 

To facilitate this I was thinking of establishing a pattern something like 

interface ClassPathAware
{
  void setSomeSpecificPropertiesOfClassPath();
}
...
class ClassPathAspect
{
  void postCreate( Task task )
  {
     if( task instanceof ClassPathAware )
     {
        //...insert black magic here...
        ((ClassPathAware)task).setSomeSpecificPropertiesOfClassPath();
     }
  }
}

So for every higher order aspect there would be two components. The 
AspecttHandler and the interface. Tasks that wish to participate with this 
aspect or understand it will implement the interface and be passed parameters 
as appropriate. Thoughts?

Cheers,

Pete

*-----------------------------------------------------*
| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |
*-----------------------------------------------------*

Mime
View raw message