Class ExternalizableUtil


  • public class ExternalizableUtil
    extends Object
    Utility methods to assist in working with the Externalizable interfaces. This class is only used when running inside of a Cluser. When using the open source version this class will use a dummy implementation. Anyway, this class is not used when not using the Enterprise edition.

    ExternalizableLite is very similar to the standard Externalizable interface, except that it uses DataOutput/DataInput instead of the Object stream equivalents.

    Author:
    Gaston Dombiak
    • Method Detail

      • setStrategy

        public void setStrategy​(ExternalizableUtilStrategy strategy)
        Sets the implementation to use for serializing and deserializing objects.
        Parameters:
        strategy - the new strategy to use.
      • getStrategy

        public ExternalizableUtilStrategy getStrategy()
        Returns the implementation to use for serializing and deserializing objects.
        Returns:
        the implementation to use for serializing and deserializing objects.
      • writeStringMap

        public void writeStringMap​(DataOutput out,
                                   Map<String,​String> stringMap)
                            throws IOException
        Writes a Map of String key and value pairs. This method handles the case when the Map is null.
        Parameters:
        out - the output stream.
        stringMap - the Map of String key/value pairs.
        Throws:
        IOException - if an error occurs.
      • readStringMap

        public Map<String,​String> readStringMap​(DataInput in)
                                               throws IOException
        Reads a Map of String key and value pairs. This method will return null if the Map written to the stream was null.
        Parameters:
        in - the input stream.
        Returns:
        a Map of String key/value pairs.
        Throws:
        IOException - if an error occurs.
      • writeLongIntMap

        public void writeLongIntMap​(DataOutput out,
                                    Map<Long,​Integer> map)
                             throws IOException
        Writes a Map of Long key and Integer value pairs. This method handles the case when the Map is null.
        Parameters:
        out - the output stream.
        map - the Map of Long key/Integer value pairs.
        Throws:
        IOException - if an error occurs.
      • readLongIntMap

        public Map<Long,​Integer> readLongIntMap​(DataInput in)
                                               throws IOException
        Reads a Map of Long key and Integer value pairs. This method will return null if the Map written to the stream was null.
        Parameters:
        in - the input stream.
        Returns:
        a Map of Long key/Integer value pairs.
        Throws:
        IOException - if an error occurs.
      • writeStringList

        public void writeStringList​(DataOutput out,
                                    List<String> stringList)
                             throws IOException
        Writes a List of Strings. This method handles the case when the List is null.
        Parameters:
        out - the output stream.
        stringList - the List of Strings.
        Throws:
        IOException - if an error occurs.
      • readStringList

        public List<String> readStringList​(DataInput in)
                                    throws IOException
        Reads a List of Strings. This method will return null if the List written to the stream was null.
        Parameters:
        in - the input stream.
        Returns:
        a List of Strings.
        Throws:
        IOException - if an error occurs.
      • writeLongArray

        public void writeLongArray​(DataOutput out,
                                   long[] array)
                            throws IOException
        Writes an array of long values. This method handles the case when the array is null.
        Parameters:
        out - the output stream.
        array - the array of long values.
        Throws:
        IOException - if an error occurs.
      • readLongArray

        public long[] readLongArray​(DataInput in)
                             throws IOException
        Reads an array of long values. This method will return null if the array written to the stream was null.
        Parameters:
        in - the input stream.
        Returns:
        an array of long values.
        Throws:
        IOException - if an error occurs.
      • writeExternalizableCollection

        public void writeExternalizableCollection​(DataOutput out,
                                                  Collection<? extends Externalizable> value)
                                           throws IOException
        Writes a collection of Externalizable objects. The collection passed as a parameter must be a collection and not a null value.
        Parameters:
        out - the output stream.
        value - the collection of Externalizable objects. This value must not be null.
        Throws:
        IOException - if an error occurs.
      • writeSerializableCollection

        public void writeSerializableCollection​(DataOutput out,
                                                Collection<? extends Serializable> value)
                                         throws IOException
        Writes a collection of Serializable objects. The collection passed as a parameter must be a collection and not a null value.
        Parameters:
        out - the output stream.
        value - the collection of Serializable objects. This value must not be null.
        Throws:
        IOException - if an error occurs.
      • readExternalizableCollection

        public int readExternalizableCollection​(DataInput in,
                                                Collection<? extends Externalizable> value,
                                                ClassLoader loader)
                                         throws IOException
        Reads a collection of Externalizable objects and adds them to the collection passed as a parameter. The collection passed as a parameter must be a collection and not a null value.
        Parameters:
        in - the input stream.
        value - the collection of Externalizable objects. This value must not be null.
        loader - class loader to use to build elements inside of the serialized collection.
        Returns:
        the number of elements added to the collection.
        Throws:
        IOException - if an error occurs.
      • writeExternalizableMap

        public void writeExternalizableMap​(DataOutput out,
                                           Map<String,​? extends Externalizable> map)
                                    throws IOException
        Writes a Map of String key and value pairs. This method handles the case when the Map is null.
        Parameters:
        out - the output stream.
        map - the Map of String key and Externalizable value pairs.
        Throws:
        IOException - if an error occurs.
      • readSerializableCollection

        public int readSerializableCollection​(DataInput in,
                                              Collection<? extends Serializable> value,
                                              ClassLoader loader)
                                       throws IOException
        Reads a collection of Serializable objects and adds them to the collection passed as a parameter. The collection passed as a parameter must be a collection and not a null value.
        Parameters:
        in - the input stream.
        value - the collection of Serializable objects. This value must not be null.
        loader - class loader to use to build elements inside of the serialized collection.
        Returns:
        the number of elements added to the collection.
        Throws:
        IOException - if an error occurs.
      • writeSerializableMap

        public void writeSerializableMap​(DataOutput out,
                                         Map<? extends Serializable,​? extends Serializable> map)
                                  throws IOException
        Writes a Map of Serializable key and value pairs. This method handles the case when the Map is null.
        Parameters:
        out - the output stream.
        map - the Map of Serializable key and value pairs.
        Throws:
        IOException - if an error occurs.
      • readExternalizableMap

        public int readExternalizableMap​(DataInput in,
                                         Map<String,​? extends Externalizable> map,
                                         ClassLoader loader)
                                  throws IOException
        Reads a Map of String key and value pairs. This method will return null if the Map written to the stream was null.
        Parameters:
        in - the input stream.
        map - a Map of String key and Externalizable value pairs.
        loader - class loader to use to build elements inside of the serialized collection.
        Returns:
        the number of elements added to the collection.
        Throws:
        IOException - if an error occurs.
      • readSerializableMap

        public int readSerializableMap​(DataInput in,
                                       Map<? extends Serializable,​? extends Serializable> map,
                                       ClassLoader loader)
                                throws IOException
        Reads a Map of Serializable key and value pairs. This method will return null if the Map written to the stream was null.
        Parameters:
        in - the input stream.
        map - a Map of Serializable key and value pairs.
        loader - class loader to use to build elements inside of the serialized collection.
        Returns:
        the number of elements added to the collection.
        Throws:
        IOException - if an error occurs.
      • writeStringsMap

        public void writeStringsMap​(DataOutput out,
                                    Map<String,​Set<String>> map)
                             throws IOException
        Writes a Map of String key and Set of Strings value pairs. This method DOES NOT handle the case when the Map is null.
        Parameters:
        out - the output stream.
        map - the Map of String key and Set of Strings value pairs.
        Throws:
        IOException - if an error occurs.
      • readStringsMap

        public int readStringsMap​(DataInput in,
                                  Map<String,​Set<String>> map)
                           throws IOException
        Reads a Map of String key and Set of Strings value pairs.
        Parameters:
        in - the input stream.
        map - a Map of String key and Set of Strings value pairs.
        Returns:
        number of elements added to the collection.
        Throws:
        IOException - if an error occurs.
      • writeStrings

        public void writeStrings​(DataOutput out,
                                 Collection<String> collection)
                          throws IOException
        Writes content of collection of strings to the output stream.
        Parameters:
        out - the output stream.
        collection - the Collection of Strings.
        Throws:
        IOException - if an error occurs.
      • readStrings

        public int readStrings​(DataInput in,
                               Collection<String> collection)
                        throws IOException
        Reads the string array from the input stream and adds them to the specified collection.
        Parameters:
        in - the input stream.
        collection - the collection to add the read strings from the input stream.
        Returns:
        number of elements added to the collection.
        Throws:
        IOException - if an error occurs.