commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Heuer <heue...@acm.org>
Subject Re: [collections] Generics & the collection subpackage
Date Sun, 29 Oct 2006 05:35:27 GMT
On Sat, 28 Oct 2006, Stephen Colebourne wrote:

> First analysis of the collection subpackage of [collections] for the
> generics branch.
>
> - BoundedCollection should be deleted/renamed to Bounded
> new Bounded interface would not implement Collection, allowing it to be
> implemented by Maps as well as Collections
>
> - UnmodifiableBoundedCollection should be deleted
> Just use the isFull/maxSize methods on CollectionUtils or similar
>
> - AbstractSerializedCollectionDecorator should be deleted
> Serialization can now be rolled up into the base decorator
> This simplifies a lot of code
> It wasn't done originally due to back-compat
>
> - TransformedCollection will need some thinking about to generify, as a
> transformer can change object types
>
> - Consider adding a Decorator interface
> This would provide a single method decorated() that obtains the
> collection that has been decorated.
> Whilst useful, this is also potentially dangerous exposure of state.
>
> - Consider adding a Container interface
> This would be a base super interface for Collection and Map (but
> obviously we can't hack the JDK.
>
> - Consider whether UnmodifiableCollection should be deleted as it
> duplicates the JDK.
>
> Stephen

Might I propose

 - Consider deprecating or removing functor interfaces from collections
in favor of those in [functor], or

 - Rename functor interfaces and update method signatures in collections
to match those in [functor], specifically Closure --> Procedure,
Transformer --> Function or Functor, Factory --> Generator

 - Add TertiaryXxx, QuaternaryXxx, and NaryXxx (using varargs, e.g.
E xxx(E... e)) interfaces

   michael


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


Mime
View raw message