From: "Peter Donald" <[EMAIL PROTECTED]>

> On Mon, 4 Mar 2002 11:29, Jose Alberto Fernandez wrote:
> > To make clear what is the situation I am referring to let me formalize it:
> >
> >     - Given two roles, A & B, triggered by the same container interface
> > (e.g., task and data-type) and given that a particular element name, N, is
> > registered in role A, what should be the correct behaviour when one
> > attempts to register N in B.
> >
> >     Should the new definition be (a) rejected; (b) override the definition
> > on A; (c) ignored.
> 
> Its a difficult question to answer 100% I think - because DataTypes in Ant1.x 
> are used within same namespace. In practice I think it would be a good idea 
> to make the base datatype class extend Task. I am not sure how feasible that 
> is but it would solve quite a few of the inconsistencies with the model. 
> 

The problem is that in ANT1 data-types do not need to extend from DataType.
Anything can be a DataType. 

> However if that is not the way then we should follow the same pattern we use 
> for properties (ie silently ignore redefinitions unless go via a *privlidged* 
> method). This is mainly for consistency.
> 

Well we need to allow users to redefine tasks and data-types. We cannot just 
ignore it
always. The funny case is when things are comming from separate amalgamated 
spaces.

> In ant2 it is likely that we will have types in different roles with the same 
> shorthand name. For instance myrmidon has a "classic" ProjectBuilder, a 
> "classic" Configurerr and a "classic" ProjectListener (all emulating ant1.x 
> behaviour). 
> 

Oh, you can do the same thing in <antlib>. That is not a problem. The problem 
is that
one also may have different roles whose namespaces have been amalgamated. This
happens when 2 roles use the same definition for the container interface (with 
different 
adapter, for example). This is the mechanism used in <antlib> to model the 
behaviour
of task and data-type. Data-types can be used anywhere a task can be used  
which means that they use the same container interface.

The issue is what to do in this amalgamated name space situation.

Jose Alberto



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to