commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scolebou...@apache.org
Subject cvs commit: jakarta-commons/collections/src/java/org/apache/commons/collections/set TransformedSet.java PredicatedSortedSet.java UnmodifiableSet.java TransformedSortedSet.java ListOrderedSet.java UnmodifiableSortedSet.java PredicatedSet.java
Date Wed, 02 Jun 2004 22:02:34 GMT
scolebourne    2004/06/02 15:02:34

  Modified:    collections/src/java/org/apache/commons/collections/set
                        TransformedSet.java PredicatedSortedSet.java
                        UnmodifiableSet.java TransformedSortedSet.java
                        ListOrderedSet.java UnmodifiableSortedSet.java
                        PredicatedSet.java
  Log:
  Make decorator classes serializable, bug 18815
  
  Revision  Changes    Path
  1.4       +3 -1      jakarta-commons/collections/src/java/org/apache/commons/collections/set/TransformedSet.java
  
  Index: TransformedSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/TransformedSet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TransformedSet.java	18 Feb 2004 01:14:27 -0000	1.3
  +++ TransformedSet.java	2 Jun 2004 22:02:34 -0000	1.4
  @@ -27,6 +27,8 @@
    * Thus objects must be removed or searched for using their transformed form.
    * For example, if the transformation converts Strings to Integers, you must
    * use the Integer form to remove objects.
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    * 
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
  
  
  
  1.5       +3 -1      jakarta-commons/collections/src/java/org/apache/commons/collections/set/PredicatedSortedSet.java
  
  Index: PredicatedSortedSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/PredicatedSortedSet.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PredicatedSortedSet.java	21 May 2004 21:38:42 -0000	1.4
  +++ PredicatedSortedSet.java	2 Jun 2004 22:02:34 -0000	1.5
  @@ -30,6 +30,8 @@
    * <p>
    * One usage would be to ensure that no null entries are added to the set.
    * <pre>SortedSet set = PredicatedSortedSet.decorate(new TreeSet(), NotNullPredicate.INSTANCE);</pre>
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    *
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
  
  
  
  1.6       +6 -2      jakarta-commons/collections/src/java/org/apache/commons/collections/set/UnmodifiableSet.java
  
  Index: UnmodifiableSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/UnmodifiableSet.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- UnmodifiableSet.java	18 Feb 2004 01:14:27 -0000	1.5
  +++ UnmodifiableSet.java	2 Jun 2004 22:02:34 -0000	1.6
  @@ -24,13 +24,17 @@
   
   /**
    * Decorates another <code>Set</code> to ensure it can't be altered.
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    *
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
    * 
    * @author Stephen Colebourne
    */
  -public final class UnmodifiableSet extends AbstractSetDecorator implements Unmodifiable
{
  +public final class UnmodifiableSet
  +        extends AbstractSerializableSetDecorator
  +        implements Unmodifiable {
   
       /**
        * Factory method to create an unmodifiable set.
  
  
  
  1.4       +3 -1      jakarta-commons/collections/src/java/org/apache/commons/collections/set/TransformedSortedSet.java
  
  Index: TransformedSortedSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/TransformedSortedSet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TransformedSortedSet.java	18 Feb 2004 01:14:27 -0000	1.3
  +++ TransformedSortedSet.java	2 Jun 2004 22:02:34 -0000	1.4
  @@ -27,6 +27,8 @@
    * Thus objects must be removed or searched for using their transformed form.
    * For example, if the transformation converts Strings to Integers, you must
    * use the Integer form to remove objects.
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    * 
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
  
  
  
  1.7       +4 -2      jakarta-commons/collections/src/java/org/apache/commons/collections/set/ListOrderedSet.java
  
  Index: ListOrderedSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/ListOrderedSet.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ListOrderedSet.java	18 Feb 2004 01:14:27 -0000	1.6
  +++ ListOrderedSet.java	2 Jun 2004 22:02:34 -0000	1.7
  @@ -40,6 +40,8 @@
    * <p>
    * This class cannot implement the <code>List</code> interface directly as
    * various interface methods (notably equals/hashCode) are incompatable with a set.
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    *
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
  @@ -47,7 +49,7 @@
    * @author Stephen Colebourne
    * @author Henning P. Schmiedehausen
    */
  -public class ListOrderedSet extends AbstractSetDecorator implements Set {
  +public class ListOrderedSet extends AbstractSerializableSetDecorator implements Set {
   
       /** Internal list to hold the sequence of objects */
       protected final List setOrder;
  
  
  
  1.6       +37 -2     jakarta-commons/collections/src/java/org/apache/commons/collections/set/UnmodifiableSortedSet.java
  
  Index: UnmodifiableSortedSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/UnmodifiableSortedSet.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- UnmodifiableSortedSet.java	18 Feb 2004 01:14:27 -0000	1.5
  +++ UnmodifiableSortedSet.java	2 Jun 2004 22:02:34 -0000	1.6
  @@ -15,6 +15,10 @@
    */
   package org.apache.commons.collections.set;
   
  +import java.io.IOException;
  +import java.io.ObjectInputStream;
  +import java.io.ObjectOutputStream;
  +import java.io.Serializable;
   import java.util.Collection;
   import java.util.Iterator;
   import java.util.SortedSet;
  @@ -24,13 +28,20 @@
   
   /**
    * Decorates another <code>SortedSet</code> to ensure it can't be altered.
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    *
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
    * 
    * @author Stephen Colebourne
    */
  -public final class UnmodifiableSortedSet extends AbstractSortedSetDecorator implements
Unmodifiable {
  +public final class UnmodifiableSortedSet
  +        extends AbstractSortedSetDecorator
  +        implements Unmodifiable, Serializable {
  +
  +    /** Serialization version */
  +    private static final long serialVersionUID = -725356885467962424L;
   
       /**
        * Factory method to create an unmodifiable set.
  @@ -43,6 +54,30 @@
               return set;
           }
           return new UnmodifiableSortedSet(set);
  +    }
  +
  +    //-----------------------------------------------------------------------
  +    /**
  +     * Write the collection out using a custom routine.
  +     * 
  +     * @param out  the output stream
  +     * @throws IOException
  +     */
  +    private void writeObject(ObjectOutputStream out) throws IOException {
  +        out.defaultWriteObject();
  +        out.writeObject(collection);
  +    }
  +
  +    /**
  +     * Read the collection in using a custom routine.
  +     * 
  +     * @param in  the input stream
  +     * @throws IOException
  +     * @throws ClassNotFoundException
  +     */
  +    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
{
  +        in.defaultReadObject();
  +        collection = (Collection) in.readObject();
       }
   
       //-----------------------------------------------------------------------
  
  
  
  1.5       +3 -1      jakarta-commons/collections/src/java/org/apache/commons/collections/set/PredicatedSet.java
  
  Index: PredicatedSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/set/PredicatedSet.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PredicatedSet.java	21 May 2004 21:38:42 -0000	1.4
  +++ PredicatedSet.java	2 Jun 2004 22:02:34 -0000	1.5
  @@ -30,6 +30,8 @@
    * <p>
    * One usage would be to ensure that no null entries are added to the set.
    * <pre>Set set = PredicatedSet.decorate(new HashSet(), NotNullPredicate.INSTANCE);</pre>
  + * <p>
  + * This class is Serializable from Commons Collections 3.1.
    *
    * @since Commons Collections 3.0
    * @version $Revision$ $Date$
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message