Class Serialization


  • @GwtIncompatible
    final class Serialization
    extends java.lang.Object
    Provides static methods for serializing collection classes.

    This class assists the implementation of collection classes. Do not use this class to serialize collections that are defined elsewhere.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  Serialization.FieldSetter<T>  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Serialization()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) static <T> Serialization.FieldSetter<T> getFieldSetter​(java.lang.Class<T> clazz, java.lang.String fieldName)  
      (package private) static <K,​V>
      void
      populateMap​(java.util.Map<K,​V> map, java.io.ObjectInputStream stream)
      Populates a map by reading an input stream, as part of deserialization.
      (package private) static <K,​V>
      void
      populateMap​(java.util.Map<K,​V> map, java.io.ObjectInputStream stream, int size)
      Populates a map by reading an input stream, as part of deserialization.
      (package private) static <K,​V>
      void
      populateMultimap​(Multimap<K,​V> multimap, java.io.ObjectInputStream stream)
      Populates a multimap by reading an input stream, as part of deserialization.
      (package private) static <K,​V>
      void
      populateMultimap​(Multimap<K,​V> multimap, java.io.ObjectInputStream stream, int distinctKeys)
      Populates a multimap by reading an input stream, as part of deserialization.
      (package private) static <E> void populateMultiset​(Multiset<E> multiset, java.io.ObjectInputStream stream)
      Populates a multiset by reading an input stream, as part of deserialization.
      (package private) static <E> void populateMultiset​(Multiset<E> multiset, java.io.ObjectInputStream stream, int distinctElements)
      Populates a multiset by reading an input stream, as part of deserialization.
      (package private) static int readCount​(java.io.ObjectInputStream stream)
      Reads a count corresponding to a serialized map, multiset, or multimap.
      (package private) static <K,​V>
      void
      writeMap​(java.util.Map<K,​V> map, java.io.ObjectOutputStream stream)
      Stores the contents of a map in an output stream, as part of serialization.
      (package private) static <K,​V>
      void
      writeMultimap​(Multimap<K,​V> multimap, java.io.ObjectOutputStream stream)
      Stores the contents of a multimap in an output stream, as part of serialization.
      (package private) static <E> void writeMultiset​(Multiset<E> multiset, java.io.ObjectOutputStream stream)
      Stores the contents of a multiset in an output stream, as part of serialization.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Serialization

        private Serialization()
    • Method Detail

      • writeMap

        static <K,​V> void writeMap​(java.util.Map<K,​V> map,
                                         java.io.ObjectOutputStream stream)
                                  throws java.io.IOException
        Stores the contents of a map in an output stream, as part of serialization. It does not support concurrent maps whose content may change while the method is running.

        The serialized output consists of the number of entries, first key, first value, second key, second value, and so on.

        Throws:
        java.io.IOException
      • populateMap

        static <K,​V> void populateMap​(java.util.Map<K,​V> map,
                                            java.io.ObjectInputStream stream)
                                     throws java.io.IOException,
                                            java.lang.ClassNotFoundException
        Populates a map by reading an input stream, as part of deserialization. See writeMap(java.util.Map<K, V>, java.io.ObjectOutputStream) for the data format.
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • populateMap

        static <K,​V> void populateMap​(java.util.Map<K,​V> map,
                                            java.io.ObjectInputStream stream,
                                            int size)
                                     throws java.io.IOException,
                                            java.lang.ClassNotFoundException
        Populates a map by reading an input stream, as part of deserialization. See writeMap(java.util.Map<K, V>, java.io.ObjectOutputStream) for the data format. The size is determined by a prior call to readCount(java.io.ObjectInputStream).
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • writeMultiset

        static <E> void writeMultiset​(Multiset<E> multiset,
                                      java.io.ObjectOutputStream stream)
                               throws java.io.IOException
        Stores the contents of a multiset in an output stream, as part of serialization. It does not support concurrent multisets whose content may change while the method is running.

        The serialized output consists of the number of distinct elements, the first element, its count, the second element, its count, and so on.

        Throws:
        java.io.IOException
      • writeMultimap

        static <K,​V> void writeMultimap​(Multimap<K,​V> multimap,
                                              java.io.ObjectOutputStream stream)
                                       throws java.io.IOException
        Stores the contents of a multimap in an output stream, as part of serialization. It does not support concurrent multimaps whose content may change while the method is running. The Multimap.asMap() view determines the ordering in which data is written to the stream.

        The serialized output consists of the number of distinct keys, and then for each distinct key: the key, the number of values for that key, and the key's values.

        Throws:
        java.io.IOException
      • getFieldSetter

        static <T> Serialization.FieldSetter<T> getFieldSetter​(java.lang.Class<T> clazz,
                                                               java.lang.String fieldName)