ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: IntrospectionHelper request
Date Fri, 11 Jan 2002 10:39:45 GMT
On Fri, 11 Jan 2002 15:42, Adam Murdoch wrote:
> It becomes better once you start adding meta-info discovery methods to
> ObjectConfigurer (and rename it TypeInfo, say).

I think I have a different idea of what TypeInfo does than you do. I was 
thinking that TypeInfo was meta-data for type similar to how other component 
models have meta data for type (think BeanInfo and friends).

However you see to be idicating that TypeInfo should be a class used to 
configure - much more than data. In this case it may be better to use a 
designator that does not conflict with existing terminology in similar 
domains (ie it is isn't an info but maybe a configurer).

Infos (as traditionally defined) are not incompatible with whats already in 
myrmidon. And they can be used to enhance the reflection based introspection 
in all sorts of ways however that still does not alleviate the need for 
Configurables I don't think.

> I'm not a big fan of Configurable, for two reasons:  It's an all-or-nothing
> approach, where the object has to do all the work.  Granted, there are
> helpers, but the object is responsible for doing the work.  I think in
> almost every case, the task doesn't want to use a completely non-standard
> scheme for configuring itself.  Instead the task simply wants to change how
> a particular element or attribute is handled, and use the standard scheme
> for everything else.

How many tasks do you envision actually using this capability and which tasks 
might they be ?

> The other reason is that Configurable is totally opaque.  You lose
> meta-info about the object, and so can't do things like configure it in a
> GUI, or generate doco for it.

Precisely ;)

Which is why it will rarely be used. It is basically only there so that 
people can do virtually anything they want - even if it is ludicrous. Many 
people have asked for things like ability to define methods, funcitons, for 
loops, various other containers and repeaters and so forth. Now none of these 
is ever likely to be implemented or support by ant-dev but people still want 

This gives them a method to do whatever they want so instead of saying no you 
can't do X and we wont change it so that you can, we say we don't X but if 
you really want it you can write a container to do it and support it yourself.

Sure it will be rarely used in regular tasks but useful for some oddballs.



 We shall not cease from exploration, and the 
  end of all our exploring will be to arrive 
 where we started and know the place for the 
        first time -- T.S. Eliot

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message