ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominique Devienne <>
Subject RE: [PATCH] Adding Dynamic elements for the n'th time
Date Wed, 27 Nov 2002 19:23:15 GMT
Given the little I know about schema, it seems it requires to use a
type="BaseType" attribute when one want to use a derived type instead of the
type itself. The same technique could be used to disambiguate which is what,
not based on the type, but the element name instead.

Just thinking out loud, while reading the views of the Ant experts. --DD

<javac ...>
  <mypath type="src" .../>
  <mypath type="classpath" .../>

-----Original Message-----
From: Magesh Umasankar [] 
Sent: Wednesday, November 27, 2002 11:46 AM
To: Ant Developers List
Subject: Re: [PATCH] Adding Dynamic elements for the n'th time

----- Original Message ----- 
From: "Stefan Bodewig" <>

> On Wed, 27 Nov 2002, Magesh Umasankar <> wrote:
> >> I think I remember it.  A problem arises when you have two
> >> different nested elements (element names) that both accept the same
> >> class.  Say you have <mypath> that is derived from Path, what would
> >> it be used for in
> >> 
> >> <javac ...>
> >>   <mypath .../>
> >> </javac>
> >> 
> >> src, classpath, sourcepath, bootclasspath and extdirs would be
> >> possible.  Has this been the reason for your choice Conor?  How
> >> would your patch deal with it Magesh?
> > 
> > If you have addMyPath(MyPath) that would be called;
> > Else
> > If you have addPath(Path), that would be called.
> But I have addSrc(Path) and addClasspath(Path) - which would be
> called?

With the patch I submitted, neither!  

In the above case, you would have to have
addSrc(Src) and addClasspath(Classpath) assuming both 
Src and Classpath both extend from Path.  Of course,
the element that is being added may be a derivative
of Src or Classpath also.

This, I think is a reasonable constraint if you plan
to be doing different things (obviously) in addSrc and
addClasspath.  If you do not plan to have differeing code
in these two methods, then all you need is addPath(Path)

> Stefan


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

View raw message