2006-10-30 16:58  cananian

	* src/net/cscott/jutil/AbstractMultiMap.java: Add commas in the
	  appropriate places in AbstractMultiMap.toString().

2006-10-30 15:14  cananian

	* src/net/cscott/jutil/: AbstractHeap.java, AbstractMapEntry.java,
	  AbstractMultiMap.java, AggregateSetFactory.java, BinaryHeap.java,
	  BitSetFactory.java, Heap.java, InvertibleMultiMap.java,
	  MapSet.java, MultiMapSet.java, PairMapEntry.java,
	  UnmodifiableIterator.java, UnmodifiableListIterator.java: Use
	  additional {@link} tags for method references.

2006-10-30 14:58  cananian

	* src/net/cscott/jutil/: AbstractHeap.java, AbstractMapEntry.java,
	  AbstractMultiMap.java, AggregateMapFactory.java,
	  AggregateSetFactory.java, BinaryHeap.java, BinaryTree.java,
	  BinomialHeap.java, BitSetFactory.java, BitString.java,
	  CollectionFactory.java, CollectionWrapper.java,
	  CombineIterator.java, Default.java, DisjointSet.java,
	  Environment.java, Factories.java, FibonacciHeap.java,
	  FilterIterator.java, GenericInvertibleMap.java,
	  GenericInvertibleMultiMap.java, GenericMultiMap.java,
	  GenericMultiMapFactory.java, HashEnvironment.java, Heap.java,
	  Indexer.java, IntervalTree.java, InvertibleMap.java,
	  InvertibleMultiMap.java, IteratorEnumerator.java, LinearMap.java,
	  LinearSet.java, ListFactory.java, ListWrapper.java,
	  MapFactory.java, MapSet.java, MapWrapper.java, MultiMap.java,
	  MultiMapFactory.java, MultiMapSet.java, PairMapEntry.java,
	  PersistentEnvironment.java, PersistentMap.java,
	  PersistentMapFactory.java, PersistentMultiMapFactory.java,
	  PersistentSet.java, PersistentSetFactory.java,
	  PersistentTreeNode.java, RedBlackTree.java, ReferenceUnique.java,
	  ReverseIterator.java, ReverseListIterator.java, SetFactory.java,
	  SetWrapper.java, SnapshotIterator.java, TestMap.java,
	  TestSet.java, UniqueStack.java, UniqueVector.java,
	  UnmodifiableIterator.java, UnmodifiableListIterator.java,
	  UnmodifiableMultiMap.java, WorkSet.java: Bulk update javadoc
	  tags: <code>ClassName</code> -> {@link ClassName}.

2006-10-30 14:12  cananian

	* src/net/cscott/jutil/Version.java: Hide my email address from the
	  internet (exposes via javadoc's "constant field values" list).

2006-10-30 14:08  cananian

	* build-user.xml, upload.sh: Add 'dist' target & a script to upload
	  new versions to the website.

2006-10-30 13:43  cananian

	* COPYING: Added license terms to repository (inadvertently removed
	  when we changed build infrastructures).

2006-10-30 11:19  cananian

	* src/net/cscott/jutil/UnmodifiableMap.java: Work around a bug in
	  the JDK1.5/1.6 compiler which prevents us from doing a clean
	  build.

2006-10-29 22:25  cananian

	* src/net/cscott/jutil/PersistentSet.java: PersistentSet now
	  implements Iterable.

2006-10-29 22:24  cananian

	* src/net/cscott/jutil/BitSetFactory.java: Loosen type: allow
	  Collection instead of Set in constructors for BitSetFactory.

2006-10-29 15:19  cananian

	* NEWS: Added information about user-visible changes in the last
	  commit to the NEWS file.

2006-10-29 15:15  cananian

	* src/net/cscott/jutil/: CollectionWrapper.java,
	  GenericInvertibleMap.java, SetWrapper.java, UnmodifiableMap.java,
	  UnmodifiableMapSet.java, UnmodifiableMultiMap.java,
	  Factories.java, ListWrapper.java, MapWrapper.java,
	  UnmodifiableMultiMapSet.java: Made the
	  CollectionWrapper/SetWrapper/ListWrapper classes abstract, and
	  used a virtual 'wrapped()' method to allow narrowing the type of
	  the wrapper in subclasses (and thus avoid wasting space with
	  duplicate references to the same object with successively
	  narrower types).

	  Add UnmodifiableMap/MapSet/MultiMap/MultiMapSet classes to safely
	  protect these types from mutation. (The UnmodifiableMap type has
	  the advantage over Collections.unmodifiableMap() that its
	  entrySet() returns an (Unmodifiable)MapSet.)

2006-10-29 15:10  cananian

	* src/net/cscott/jutil/UnmodifiableIterator.java: Add
	  UnmodifiableIterator.proxy() method to generate an
	  UnmodifiableIterator from a normal Iterator.

2006-10-29 11:59  cananian

	* JUtil.Manifest, build-user.xml: Add JAR targets.

2006-10-29 11:51  cananian

	* .classpath, .cvsignore, .project, Makefile.am, NEWS, README,
	  autogen.sh, build-user.xml, build.xml, configure.ac,
	  .settings/org.eclipse.jdt.core.prefs,
	  src/net/cscott/jutil/.cvsignore,
	  src/net/cscott/jutil/Version.java,
	  src/net/cscott/jutil/Version.java.in: Convert build from autoconf
	  to Eclipse/Ant.

2006-10-29 11:27  cananian

	* src/net/cscott/jutil/: AggregateMapFactory.java,
	  AggregateSetFactory.java, DisjointSet.java, LinearMap.java,
	  LinearSet.java, ReverseIterator.java, Util.java,
	  AbstractHeap.java, CombineIterator.java, Default.java,
	  FibonacciHeap.java, HashEnvironment.java, Makefile.am,
	  PersistentMap.java, PersistentMultiMapFactory.java,
	  PersistentSet.java, SnapshotIterator.java,
	  UnmodifiableMultiMap.java, ListFactory.java, MultiMapSet.java,
	  TestSet.java: Remove eclipse warnings (mostly unused imports).

2006-10-28 00:03  cananian

	* src/net/cscott/jutil/Factories.java: Add factories to create
	  EnumSet and EnumMaps.

2006-10-08 15:39  cananian

	* Makefile.am: Add target to package all source in a jar, in the
	  format which Eclipse prefers.

2006-10-08 15:35  cananian

	* Makefile.am, src/net/cscott/jutil/BitString.java,
	  src/net/cscott/jutil/UniqueVector.java,
	  src/net/cscott/jutil/Version.java.in: Fix javadoc errors.

2006-10-08 15:28  cananian

	* autogen.sh: Update to automake-1.9.

2006-02-20 14:21  cananian

	* src/net/cscott/jutil/: BinaryHeap.java, BinomialHeap.java,
	  Default.java, FibonacciHeap.java, GenericMultiMap.java,
	  PersistentMap.java, PersistentSet.java: Remove some
	  unsafe/unchecked cast warnings.

2005-01-20 16:43  cananian

	* src/net/cscott/jutil/PersistentMultiMapFactory.java: The
	  component collections of PersistentMultiMapFactory are
	  (persistent) sets.

2005-01-20 16:39  cananian

	* src/net/cscott/jutil/: PersistentMultiMapFactory.java,
	  PersistentTreeNode.java: Add 'merger' parameter to
	  PersistentTreeNode.putAll, which allows a fast addAll()
	  implementation in PersistentMultiMapFactory.	Also implement fast
	  equals() and hashCode() in the sets returned by
	  MultiMapImpl.getValues().

2005-01-20 15:54  cananian

	* src/net/cscott/jutil/: AbstractMultiMap.java, Makefile.am,
	  PersistentMultiMapFactory.java: First draft of cloneable
	  persistent MultiMap factory class.

	  This works much better than trying to create a cloneable multimap
	  from GenericMultiMap (since not only the top-level map, but also
	  all the component sets which are values in the map need to be
	  cloned).

2005-01-19 21:32  cananian

	* src/net/cscott/jutil/: AbstractMultiMap.java,
	  GenericMultiMap.java, Makefile.am: Factor out an AbstractMultiMap
	  implementation from GenericMultiMap, for reuse.

2005-01-19 21:31  cananian

	* src/net/cscott/jutil/: PersistentMapFactory.java,
	  PersistentSet.java, PersistentSetFactory.java,
	  PersistentMap.java: Remind the user that good hashcode
	  implementations are still required.

2005-01-19 20:14  cananian

	* src/net/cscott/jutil/: GenericInvertibleMap.java,
	  GenericMultiMapFactory.java, Makefile.am, MultiMapFactory.java:
	  Clean up the MultiMapFactory interface by splitting off the
	  support for GenericMultiMap -- that goes in its own
	  GenericMultiMapFactory class.

2004-06-29 15:44  cananian

	* src/net/cscott/jutil/: BinaryHeap.java, BinomialHeap.java,
	  CollectionFactory.java, Default.java, FibonacciHeap.java,
	  ListFactory.java, MapFactory.java, MultiMapFactory.java,
	  SetFactory.java: Get rid of workarounds for bugs in Sun's javac;
	  also use Collections.emptySet() and friends where appropriate.

2004-06-29 15:23  cananian

	* src/net/cscott/jutil/: BinomialHeap.java, Factories.java,
	  FibonacciHeap.java, HashEnvironment.java,
	  PersistentMapFactory.java, PersistentSetFactory.java: Fixup code
	  to comply with JDK1.5.0 beta 2, which requires types on the
	  right-hand side of an instanceof expression to be 'reifiable'.
	  (Despite the "strong discouragement" of the use of 'raw types'
	  elsewhere in the spec.)

2004-03-28 02:48  cananian

	* src/net/cscott/jutil/Factories.java: Add stock LinkedHashMap and
	  LinkedHashSet factories to Factories class.

2004-03-25 14:17  cananian

	* src/net/cscott/jutil/PersistentSetFactory.java: Fit a null
	  pointer exception in the containsAll() implementation of the Sets
	  returned by PersistentSetFactory.

2004-02-07 21:00  cananian

	* src/net/cscott/jutil/: ListFactory.java, WorkSet.java: Deprecate
	  WorkSet (use java.util.LinkedHashSet) and ListFactory.singleton
	  (use java.util.Collections.singletonList).

2004-02-07 17:37  cananian

	* src/net/cscott/jutil/LinearSet.java: More precise type for
	  LinearSet.clone().

2004-02-01 14:57  cananian

	* src/net/cscott/jutil/Default.java: Improve documentation.
	  Refactor code to reduce duplication.	Parameterize EMPTY_MAP and
	  EMPTY_MULTIMAP.

2004-02-01 14:44  cananian

	* src/net/cscott/jutil/MultiMap.java: Remove some out-of-date docs.

2004-01-30 06:57  cananian

	* src/net/cscott/jutil/: HashEnvironment.java, UniqueStack.java,
	  UniqueVector.java, WorkSet.java: Use variance properly in
	  constructors (to replace explicit type parameters).

2004-01-30 03:55  cananian

	* src/net/cscott/jutil/: PersistentMap.java,
	  PersistentMapFactory.java, PersistentSet.java,
	  PersistentSetFactory.java, PersistentTreeNode.java: Javadoc
	  updates for Persistent*; also add constant-time clone to
	  PersistentMap and PersistentSet.

2004-01-24 17:31  cananian

	* configure.ac: Released JUtil version 1.1.

2004-01-14 13:44  cananian

	* src/net/cscott/jutil/TestMap.java: Comment out two tests in order
	  to make things work with type-safe collections.

2004-01-14 13:44  cananian

	* src/net/cscott/jutil/: Makefile.am, PersistentMapFactory.java,
	  PersistentSetFactory.java, PersistentTreeNode.java: Worked around
	  some javac errors with bogus 'inconvertible types'; fixed bugs in
	  PersistentMapFactory (need to compare value with equals() to
	  properly implement Map interface) and PersistentTreeNode (putAll
	  was fubared).

2004-01-13 16:57  cananian

	* src/net/cscott/jutil/: AggregateMapFactory.java, Makefile.am,
	  PersistentEnvironment.java, TestMap.java, UniqueVector.java:
	  Commit a few improvements (and suggestions for improvements) from
	  my uncommitted FLEX tree.

2004-01-13 16:40  cananian

	* src/net/cscott/jutil/: AbstractHeap.java, BinaryHeap.java,
	  BinomialHeap.java, DisjointSet.java, Factories.java,
	  FibonacciHeap.java, GenericInvertibleMultiMap.java,
	  GenericMultiMap.java, HashEnvironment.java, UniqueVector.java:
	  Update all code with the new for construct.

2004-01-13 15:47  cananian

	* NEWS, README, configure.ac,
	  src/net/cscott/jutil/AbstractHeap.java,
	  src/net/cscott/jutil/AggregateMapFactory.java,
	  src/net/cscott/jutil/AggregateSetFactory.java,
	  src/net/cscott/jutil/BinaryHeap.java,
	  src/net/cscott/jutil/BinomialHeap.java,
	  src/net/cscott/jutil/BitSetFactory.java,
	  src/net/cscott/jutil/CollectionFactory.java,
	  src/net/cscott/jutil/CollectionWrapper.java,
	  src/net/cscott/jutil/CombineIterator.java,
	  src/net/cscott/jutil/Default.java,
	  src/net/cscott/jutil/Factories.java,
	  src/net/cscott/jutil/FibonacciHeap.java,
	  src/net/cscott/jutil/GenericInvertibleMap.java,
	  src/net/cscott/jutil/GenericInvertibleMultiMap.java,
	  src/net/cscott/jutil/GenericMultiMap.java,
	  src/net/cscott/jutil/Heap.java,
	  src/net/cscott/jutil/IntervalTree.java,
	  src/net/cscott/jutil/LinearSet.java,
	  src/net/cscott/jutil/ListFactory.java,
	  src/net/cscott/jutil/ListWrapper.java,
	  src/net/cscott/jutil/Makefile.am,
	  src/net/cscott/jutil/MapFactory.java,
	  src/net/cscott/jutil/MapWrapper.java,
	  src/net/cscott/jutil/MultiMap.java,
	  src/net/cscott/jutil/MultiMapFactory.java,
	  src/net/cscott/jutil/PersistentMapFactory.java,
	  src/net/cscott/jutil/PersistentSetFactory.java,
	  src/net/cscott/jutil/SetFactory.java,
	  src/net/cscott/jutil/UnmodifiableMultiMap.java: Migrate JUtil to
	  the latest jsr-14 compiler (2.4 alpha 1).

	  There are some extra casts when invoking constructors due to Sun
	  bug #4951260, and PersistentMapFactory and PersistentSetFactory
	  have been temporarily disabled due to another Sun bug
	  (over-aggressive checking of instanceof involving wildcards).

2004-01-12 20:28  cananian

	* configure.ac, src/net/cscott/jutil/AggregateMapFactory.java,
	  src/net/cscott/jutil/AggregateSetFactory.java,
	  src/net/cscott/jutil/BinomialHeap.java,
	  src/net/cscott/jutil/BitSetFactory.java,
	  src/net/cscott/jutil/Default.java,
	  src/net/cscott/jutil/LinearMap.java,
	  src/net/cscott/jutil/LinearSet.java,
	  src/net/cscott/jutil/Makefile.am,
	  src/net/cscott/jutil/PersistentMap.java,
	  src/net/cscott/jutil/PersistentMapFactory.java,
	  src/net/cscott/jutil/PersistentSet.java,
	  src/net/cscott/jutil/PersistentSetFactory.java,
	  src/net/cscott/jutil/PersistentTreeNode.java,
	  src/net/cscott/jutil/TestMap.java,
	  src/net/cscott/jutil/TestSet.java,
	  src/net/cscott/jutil/WorkSet.java: Update JUtil with all changes
	  to FLEX sources since 2003-03-20.

2003-04-26 00:20  cananian

	* src/net/cscott/jutil/Version.java.in: Keep bug-report email
	  address out of the docs (and hence off the 'net).

2003-04-26 00:13  cananian

	* src/net/cscott/jutil/Version.java.in: Added javadoc to the
	  'Version' class.

2003-04-25 23:50  cananian

	* .cvsignore, Makefile.am: Tweak/improve 'doc' rule.

	  Add 'doc' and 'doc-link' to .cvsignore.

	  Add 'Implementation-Version' tag to jar file.

	  Add 'upload' rule to Makefile.

2003-04-04 23:37  cananian

	* src/net/cscott/jutil/: IntervalTree.java, RedBlackTree.java: More
	  @see tag clean-ups.

2003-04-04 23:27  cananian

	* src/net/cscott/jutil/: BinaryTree.java, RedBlackTree.java: Fix
	  malformed @see tags.

2003-04-01 20:26  cananian

	* Makefile.am: Use gjdoc for documentation instead of javadoc.

2003-03-19 22:00  cananian

	* Makefile.am, src/net/cscott/jutil/Version.java,
	  src/net/cscott/jutil/Version.java.in: Have the jutil.jar file
	  print the library version number if executed.

2003-03-19 21:00  cananian

	* configure.ac: Bump version number to 1.0.

2003-03-19 20:59  cananian

	* src/net/cscott/jutil/: Makefile.am, ReferenceUnique.java: Added
	  'ReferenceUnique' interface.

2003-03-19 20:58  cananian

	* src/net/cscott/jutil/: AbstractHeap.java, AbstractMapEntry.java,
	  AggregateMapFactory.java, AggregateSetFactory.java,
	  BinaryHeap.java, BinaryTree.java, BinomialHeap.java,
	  BitSetFactory.java, BitString.java, CollectionFactory.java,
	  CollectionWrapper.java, CombineIterator.java, Default.java,
	  DisjointSet.java, Environment.java, Factories.java,
	  FibonacciHeap.java, FilterIterator.java,
	  GenericInvertibleMap.java, GenericInvertibleMultiMap.java,
	  GenericMultiMap.java, HashEnvironment.java, Heap.java,
	  Indexer.java, IntervalTree.java, InvertibleMap.java,
	  InvertibleMultiMap.java, IteratorEnumerator.java, LinearMap.java,
	  LinearSet.java, ListFactory.java, ListWrapper.java, Makefile.am,
	  MapFactory.java, MapSet.java, MapWrapper.java, MultiMap.java,
	  MultiMapFactory.java, MultiMapSet.java, PairMapEntry.java,
	  PersistentEnvironment.java, PersistentMap.java,
	  PersistentSet.java, PersistentTreeNode.java, RedBlackTree.java,
	  ReverseIterator.java, ReverseListIterator.java, SetFactory.java,
	  SetWrapper.java, SnapshotIterator.java, TestMap.java,
	  TestSet.java, UniqueStack.java, UniqueVector.java,
	  UnmodifiableIterator.java, UnmodifiableListIterator.java,
	  UnmodifiableMultiMap.java, Util.java, Version.java, WorkSet.java:
	  Added all the source files.  And we build!  (Imported from
	  JChirp, which borrowed them from FLEX.)

2003-03-19 20:52  cananian

	* .cvsignore, AUTHORS, Makefile.am, NEWS, README, autogen.sh,
	  configure.ac, src/net/cscott/jutil/.cvsignore,
	  src/net/cscott/jutil/Makefile.am,
	  src/net/cscott/jutil/Version.java.in: Skeleton of JUtil package.
	  No actual source files yet, just all the auto* magic.

