Package org.jivesoftware.util.cache
Class ExternalizableUtil
- java.lang.Object
-
- org.jivesoftware.util.cache.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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ExternalizableUtil
getInstance()
ExternalizableUtilStrategy
getStrategy()
Returns the implementation to use for serializing and deserializing objects.boolean
readBoolean(DataInput in)
byte[]
readByteArray(DataInput in)
int
readExternalizableCollection(DataInput in, Collection<? extends Externalizable> value, ClassLoader loader)
Reads a collection of Externalizable objects and adds them to the collection passed as a parameter.int
readExternalizableMap(DataInput in, Map<String,? extends Externalizable> map, ClassLoader loader)
Reads a Map of String key and value pairs.int
readInt(DataInput in)
long
readLong(DataInput in)
long[]
readLongArray(DataInput in)
Reads an array of long values.Map<Long,Integer>
readLongIntMap(DataInput in)
Reads a Map of Long key and Integer value pairs.String
readSafeUTF(DataInput in)
Serializable
readSerializable(DataInput in)
int
readSerializableCollection(DataInput in, Collection<? extends Serializable> value, ClassLoader loader)
Reads a collection of Serializable objects and adds them to the collection passed as a parameter.int
readSerializableMap(DataInput in, Map<? extends Serializable,? extends Serializable> map, ClassLoader loader)
Reads a Map of Serializable key and value pairs.List<String>
readStringList(DataInput in)
Reads a List of Strings.Map<String,String>
readStringMap(DataInput in)
Reads a Map of String key and value pairs.int
readStrings(DataInput in, Collection<String> collection)
Reads the string array from the input stream and adds them to the specified collection.int
readStringsMap(DataInput in, Map<String,Set<String>> map)
Reads a Map of String key and Set of Strings value pairs.void
setStrategy(ExternalizableUtilStrategy strategy)
Sets the implementation to use for serializing and deserializing objects.void
writeBoolean(DataOutput out, boolean value)
void
writeByteArray(DataOutput out, byte[] value)
void
writeExternalizableCollection(DataOutput out, Collection<? extends Externalizable> value)
Writes a collection of Externalizable objects.void
writeExternalizableMap(DataOutput out, Map<String,? extends Externalizable> map)
Writes a Map of String key and value pairs.void
writeInt(DataOutput out, int value)
void
writeLong(DataOutput out, long value)
void
writeLongArray(DataOutput out, long[] array)
Writes an array of long values.void
writeLongIntMap(DataOutput out, Map<Long,Integer> map)
Writes a Map of Long key and Integer value pairs.void
writeSafeUTF(DataOutput out, String value)
void
writeSerializable(DataOutput out, Serializable value)
void
writeSerializableCollection(DataOutput out, Collection<? extends Serializable> value)
Writes a collection of Serializable objects.void
writeSerializableMap(DataOutput out, Map<? extends Serializable,? extends Serializable> map)
Writes a Map of Serializable key and value pairs.void
writeStringList(DataOutput out, List<String> stringList)
Writes a List of Strings.void
writeStringMap(DataOutput out, Map<String,String> stringMap)
Writes a Map of String key and value pairs.void
writeStrings(DataOutput out, Collection<String> collection)
Writes content of collection of strings to the output stream.void
writeStringsMap(DataOutput out, Map<String,Set<String>> map)
Writes a Map of String key and Set of Strings value pairs.
-
-
-
Method Detail
-
getInstance
public static ExternalizableUtil getInstance()
-
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 isnull
.- 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 returnnull
if the Map written to the stream wasnull
.- 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 isnull
.- 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 returnnull
if the Map written to the stream wasnull
.- 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 isnull
.- 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 returnnull
if the List written to the stream wasnull
.- 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 isnull
.- 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 returnnull
if the array written to the stream wasnull
.- Parameters:
in
- the input stream.- Returns:
- an array of long values.
- Throws:
IOException
- if an error occurs.
-
writeLong
public void writeLong(DataOutput out, long value) throws IOException
- Throws:
IOException
-
readLong
public long readLong(DataInput in) throws IOException
- Throws:
IOException
-
writeInt
public void writeInt(DataOutput out, int value) throws IOException
- Throws:
IOException
-
readInt
public int readInt(DataInput in) throws IOException
- Throws:
IOException
-
writeBoolean
public void writeBoolean(DataOutput out, boolean value) throws IOException
- Throws:
IOException
-
readBoolean
public boolean readBoolean(DataInput in) throws IOException
- Throws:
IOException
-
writeByteArray
public void writeByteArray(DataOutput out, byte[] value) throws IOException
- Throws:
IOException
-
readByteArray
public byte[] readByteArray(DataInput in) throws IOException
- Throws:
IOException
-
writeSerializable
public void writeSerializable(DataOutput out, Serializable value) throws IOException
- Throws:
IOException
-
readSerializable
public Serializable readSerializable(DataInput in) throws IOException
- Throws:
IOException
-
writeSafeUTF
public void writeSafeUTF(DataOutput out, String value) throws IOException
- Throws:
IOException
-
readSafeUTF
public String readSafeUTF(DataInput in) throws IOException
- Throws:
IOException
-
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 anull
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 anull
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 anull
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 isnull
.- 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 anull
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 isnull
.- 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 returnnull
if the Map written to the stream wasnull
.- 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 returnnull
if the Map written to the stream wasnull
.- 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 isnull
.- 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.
-
-