Is backwards compatibility a concern?  The shift to generics was certainly a breaking change....and really, I'd be surprised if anyone complained about pre-1.2 code being brought into alignment with modern idioms, etc.

Honestly, I'd love to see HTree implement java.util.Map -- which would obviously be a breaking change, but result in a huge improvement in the interoperability of the library in general.

Yes, I believe FastIterator could extend Iterator, if retaining API compatibility is important enough.

- Chas

On Aug 27, 2009, at 3:20 PM, Kevin Day wrote:

I'm pretty sure that the code in question does predate 1.2.  Given the recent shift in the code base to use generics, I certainly don't see any issue with a refactoring on this.  The challenge will be how to do it in a way that doesn't break backwards compatability.  You may, for example, need to introduce a keysIterator() method instead of changing the return type of keys().
 
Another option, which may be cleaner, would be to make FastIterator extend Iterator (if that's possible)...
 
I'd certainly welcome such a patch (and everyone else is pretty quiet these days, so that makes a quorum!)
 
- K
 
----------------------- Original Message -----------------------
  
From: Chas Emerick <cemerick@snowtide.com>
Cc: 
Date: Thu, 27 Aug 2009 12:42:54 -0400
Subject: [Jdbm-general] Why FastIterator?
  
Is there a reason why jdbm defines the FastIterator class, rather than  
simply using the standard Iterator interface?

I'd be happy to prepare a patch that would eliminated FastIterator,  
replacing its usage with Iterator, and properly implementing hasNext.   
This would only impact HashDirectory as far as I can tell, but would  
help eliminate what appears to be a wart (IMO) in the library.  (Maybe  
jdbm predates Java 1.2, so Iterator wasn't available?)

Would such a patch be welcome?

Thanks,

- Chas

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jdbm-general mailing list
Jdbm-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jdbm-general

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july_______________________________________________
Jdbm-general mailing list
Jdbm-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jdbm-general