You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2004/04/09 12:32:25 UTC
cvs commit: jakarta-commons/collections/src/java/org/apache/commons/collections/map UnmodifiableMap.java
scolebourne 2004/04/09 03:32:25
Modified: collections/src/test/org/apache/commons/collections/map
TestUnmodifiableMap.java
collections/src/java/org/apache/commons/collections/map
UnmodifiableMap.java
Added: collections/data/test
UnmodifiableMap.emptyCollection.version3.1.obj
UnmodifiableMap.fullCollection.version3.1.obj
Log:
Make UnmodifiableMap Serializable [18815]
Revision Changes Path
1.9 +15 -1 jakarta-commons/collections/src/test/org/apache/commons/collections/map/TestUnmodifiableMap.java
Index: TestUnmodifiableMap.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/map/TestUnmodifiableMap.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- TestUnmodifiableMap.java 18 Feb 2004 01:20:37 -0000 1.8
+++ TestUnmodifiableMap.java 9 Apr 2004 10:32:25 -0000 1.9
@@ -87,4 +87,18 @@
} catch (IllegalArgumentException ex) {}
}
+ public String getCompatibilityVersion() {
+ return "3.1";
+ }
+
+ public void testCreate() throws Exception {
+ resetEmpty();
+ writeExternalFormToDisk(
+ (java.io.Serializable) map,
+ "D:/dev/collections/data/test/UnmodifiableMap.emptyCollection.version3.1.obj");
+ resetFull();
+ writeExternalFormToDisk(
+ (java.io.Serializable) map,
+ "D:/dev/collections/data/test/UnmodifiableMap.fullCollection.version3.1.obj");
+ }
}
1.1 jakarta-commons/collections/data/test/UnmodifiableMap.emptyCollection.version3.1.obj
<<Binary file>>
1.1 jakarta-commons/collections/data/test/UnmodifiableMap.fullCollection.version3.1.obj
<<Binary file>>
1.10 +38 -2 jakarta-commons/collections/src/java/org/apache/commons/collections/map/UnmodifiableMap.java
Index: UnmodifiableMap.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/map/UnmodifiableMap.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- UnmodifiableMap.java 18 Feb 2004 01:13:19 -0000 1.9
+++ UnmodifiableMap.java 9 Apr 2004 10:32:25 -0000 1.10
@@ -15,6 +15,10 @@
*/
package org.apache.commons.collections.map;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
@@ -29,6 +33,8 @@
/**
* Decorates another <code>Map</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$
@@ -36,7 +42,11 @@
* @author Stephen Colebourne
*/
public final class UnmodifiableMap
- extends AbstractMapDecorator implements IterableMap, Unmodifiable {
+ extends AbstractMapDecorator
+ implements IterableMap, Unmodifiable, Serializable {
+
+ /** Serialization version */
+ private static final long serialVersionUID = 2737023427269031941L;
/**
* Factory method to create an unmodifiable map.
@@ -60,6 +70,32 @@
*/
private UnmodifiableMap(Map map) {
super(map);
+ }
+
+ //-----------------------------------------------------------------------
+ /**
+ * Write the map out using a custom routine.
+ *
+ * @param out the output stream
+ * @throws IOException
+ * @since Commons Collections 3.1
+ */
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ out.defaultWriteObject();
+ out.writeObject(map);
+ }
+
+ /**
+ * Read the map in using a custom routine.
+ *
+ * @param in the input stream
+ * @throws IOException
+ * @throws ClassNotFoundException
+ * @since Commons Collections 3.1
+ */
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ in.defaultReadObject();
+ map = (Map) in.readObject();
}
//-----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org