Guest User

Ian

a guest
Apr 16th, 2008
246
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class LargeSerializableConcurrentSkipListMap<K, V> extends
  2.         ConcurrentSkipListMap<K, V> {
  3.     private static final long serialVersionUID = -1525292268623732635L;
  4.  
  5.     private void writeObject(ObjectOutputStream stream) throws IOException {
  6.         for (Map.Entry<K, V> e : this.entrySet()) {
  7.             stream.writeObject(e.getKey());
  8.             stream.writeObject(e.getValue());
  9.         }
  10.         // We do it like this because items can be added and removed
  11.         // during serialization and an "end of object" indicator is more
  12.         // robust given this
  13.         stream.writeObject(new EndObject());
  14.         stream.writeObject(new EndObject());
  15.     }
  16.  
  17.     @SuppressWarnings("unchecked")
  18.     private void readObject(ObjectInputStream stream) throws IOException,
  19.             ClassNotFoundException {
  20.         while (true) {
  21.             Object k = stream.readObject();
  22.             Object v = stream.readObject();
  23.             if ((k instanceof EndObject) && (v instanceof EndObject)) {
  24.                 break;
  25.             }
  26.             this.put((K) k, (V) v);
  27.         }
  28.     }
  29.    
  30.     private static class EndObject implements Serializable {
  31.         private static final long serialVersionUID = -5347717251973679220L;
  32.     }
  33. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×