The plan is for non backwards compatibility, as there are too many things that don't make sense for generics, and some things that plain don't work. The Map coercion methods become silly, and TransformedMap can't conform to the map interface in it's current form (is that the right one?).

Having said that, I am planning (in my zero time - probably until christmas :( ), to have a "1.4 upgrade" generics collections that has minimal changes (where necessary) and will provide a general drop in replacement. The main release will be a clean generics release without deprecation, for those wanting to get started afresh. BTW, absolutely none of the trunk's deprecated API will make it anywhere into the generics project (it's gone already...). [You're using it to make a jump, so *you're going to* make the jump].

So, there will be minimal binary changes, but you will likely have to recompile (some CollectionUtils void methods will now return something useful). Some classes will need revamping, and potentially entirely renamed to ensure that there is no conflict with different prior behaviour - I haven't really looked at the maps.

NB!!! Don't submit patches for CollectionUtils --- I have it 90% complete, and will find time to do the other 10% if people want to see it (are people actually using the generics branch? I am, but then I know it's as good as my own code :)

I don't think it will be too difficult to strip out deprecated methods at build time, but will probably take a bit of time to get right.

Yeah, maybe I will try and find some more time... but generally, I work on it as I need it's [generic] features.

+1 Wiki page, and for someone to summarise the mailing list. I believe this message contains the major consensus from the previous discussions (actually, having a minimal 1.4 upgrade-deprecated jar is my idea - simply because it'll be easier to do a double [remove deprecation->upgrade] jump than to do it all in one)

Cheers

Stephen

Requests for clarification welcome.

James Carman wrote:
Maybe we should set up a wiki page to discuss this 1.5 problem for
collections (and maybe other projects).  We should outline why we have
been reluctant as of yet to "genericize" collections (binary
compatibility, serialization issues, etc.).  That way folks don't have
to try to search through the archives or try to remember (I'm having a
hard time remembering the whole conversation) all the details.

On 10/25/07, Brian A. Egge <[EMAIL PROTECTED]> wrote:
Hi,

What's the status of the JDK 1.5 branch?  It seems the developers are split as 
to if it's a good thing, and if so, if the API should be different or the same. 
 Most advice I see says to use the collections15 project on SourceForge.

What I would like, is a drop in replacement, with binary backwards 
compatibility with the 1.4 version.  I want everything in the same package 
name, and to have the same names.  If there are some additional methods, then 
that would be ok.  Basically, I found upgrading the JDK collections has been 
rather painless.  My 1.4 projects work fine in 1.5, and if I want to change my 
code to use generics I can.  Eclipse even will help me out with this.  Because 
Java decided to use type erasure, it's possible to have a library with 
generics, that works identically to one without.

I ran clirr against the 1.5 branch, comparing it to the 3.3 snapshot in the 
trunk.  It reported 93 differences.  I'm happy to spend some time creating 
patches for this project, if there are other people (read committers) who have 
the time to review and apply the patches, and also share my vision of a 
compatible library.

Commons Collections is one of the most popular components within the Commons 
project, and the main use of generics is within container classes, so I think 
it would be a real benefit to get this project up to date.

-Brian




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



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


--
------------------------------------------------------------------------
* <http://www.orionhealth.com>*
        
        

*Stephen Kestle Software Engineer*
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
P: +64 9 638 0619
M: +64 27 453 7853
F: +64 9 638 0699
S: skestle <callto:skestle>
www.orionhealth.com <http://www.orionhealth.com>


This e-mail and any attachments are intended only for the person to whom it is addressed and may contain privileged, proprietary, or other data protected from disclosure under applicable law. If you are not the addressee or the person responsible for delivering this to the addressee you are hereby notified that reading, copying or distributing this transmission is prohibited. If you have received this e-mail in error, please telephone us immediately and remove all copies of it from your system. Thank you for your co-operation.

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

Reply via email to