Hmm, just had a closer look at the list of classes that SableUtil
implements. I've coded them as follows:
C = we already have an implementation of this class
I = we already have this interface
D = our implementation / interface file is fully Doc-commented
d = our implementation / interface file is partially Doc-commented
N = the class is not in the actual 1.2 spec (at least as at beta3)
Paul Fisher wrote:
>
> CD AbstractCollection.java I List.java
> Cd AbstractList.java ID ListIterator.java
> AbstractMap.java I Map.java
> Cd AbstractSequentialList.java N NoCast.java
> CD AbstractSet.java I Set.java
> N Cast.java N SplayTreeMap.java
> I Collection.java N Switch.java
> ID Comparable.java N Switchable.java
> ID Comparator.java N TypedLinkedList.java
> CD ConcurrentModificationException.java N TypedSplayTreeMap.java
> ID Iterator.java LinkedList.java
> CD UnsupportedOperationException.java
So, although we are still quite far from having a full 1.2 compatible
collections API, we are actually quite close to having all the classes
that Sable has *that are actually part of the spec*. I'm *fairly* sure
that beta4 hasn't added any of the classes that are coded N, either.
AbstractMap and LinkedList would be nice to have, and if the interfaces
are well doc-commented and compatible, it would be nice to get them too
- but for two classes, it probably isn't worth the paperwork. It *might*
be worth it if Collection, List, Set and Map are well doc-commented,
because they're quite big interfaces and a pain to comment... but
actually even then I can probably steal quite a lot of the comments from
AbstractCollection and AbstractSet, so probably not.
If it were just a case of borrowing the code, and there wasn't all the
paperwork, I'd say do it... but as there is, I don't think it's worth
it.
<rant mode on, please don't flame me> So what's the point in something
being LGPL'd in the first place if the code can't be shared with another
LGPL'd project? </rant>
HTH,
Stuart.
PS can someone let me know (by private mail if you like) whether any of
the files that I checked in (which I've only done once and they're all
in java/util) have been modified in the repository since? Or if anyone
else is likely to be working on any of these files? I might make a start
on the update to beta4 spec tomorrow, and I need to know whether I need
to download a more recent snapshot than the one I have.