--- Victor Volle <[EMAIL PROTECTED]> wrote:
> > a) We introduce all those methods suggested by Victor Volle:
> 
> It was never meant as a suggestion but rather as a "beware" :-)
> 
> > boolean isIndexed();
> > boolean isMapped();
> > boolean isListed();        // I would call it
> "isUnorderedCollection"
> > 
> > we keep all access methods and throw an exception when the wrong
> one is
> > called.
> > 
> > 
> > b) We follow what I think is Berin's suggestion (admittedly I don't
> always
> > understand them - I am not a native speaker of English, C# and
> Avalon),
> > 
> > Anyway, my understanding is that the idea is to have these methods:
> > 
> > field.getAttributeMethod(),        // Type based
> > field.getAttributeMethod(Object instance) // Instance based
> > 
> > which return one of the following
> >     BasicAttributeMethod
> >     IndexedAttributeMethod
> >     MappedAttributeMethod
> >     UnorderedCollectionAttributeMethod
> >     IterationAttributeMethod
> > 
> > (names would have to be fixed up)
> > 
> > Each of these would have methods specific to the corresponding way
> of
> > manipulating the attribute.  For example,
> > 
> > class BasicAttributeMethod {
> >     Object get(Object instance);
> >     void set(Object instance, Object value);
> >     Object setNew(Object instance, Clazz clazz, Object[]
> parameters);
> > }
> > 
> > class IndexedAttributeMethod {
> >     int getSize(Object instance);
> >     Object get(Object instance, int index);
> >     void set(Object instance, int index, Object value);
> >     Object setNew(Object instance, int index, Clazz clazz, Object[]
> > parameters);
> > }
> > 
> > etc.
> > 
> > I think (b) is the nicer of the two appoaches.
> 
> that would mean calling "instanceof". 
> I do not like either solution.
I know...

> Anyway, I would also tend to solution b) if we throw
> in the method add() for Indexed and (Un)orderedCollection.
> (Lists are not unordered, Sets are. What about 
> CollectionAttribute and make IndexedAttribute a subclass?)
Sure.

> Victor
- Dmitri

__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>

Reply via email to