> From: Stefan Bodewig [mailto:[EMAIL PROTECTED] > > On Thu, 22 May 2003, Antoine Levy-Lambert <[EMAIL PROTECTED]> > wrote: > > > Reading this, and knowing that computearea and computeperimeter > > accept shapes as nested element, a build file writer would know that > > <circle/> and <square/> can be nested inside <computearea/> and > > <computeperimeter/>. > > So roles make the antlib descriptor more expressive, this is true. > I'm not sure that the build file writer is going to read the antlib > descriptor, though. >
But remember we want to be able to say this same things inside build files so we can declare things not in antlibs. > > This descriptor also says that ShapeInterface should have a special > > meaning for ant, which for instance Serializable, Cloneable, ... do > > not necessarily have. > > OK. > > With roles, would an arbitrary implementation of ShapeInterface that > was not bundled with the antlib and was not declared to be in role > shape be accepted as nested element in <computearea/>? > I would say you need to declare it as a shape or some other "role-name" defined by ShareInterface. The same way you need to declare something as a Task before you can use it as such. > If the answer is yes, then roles would be optional and would mainly be > used to make things more explicit, right? This is fine with me. > Jose Alberto