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.

Reply via email to