redstone.xmlrpc.serializers.json
Class MapSerializer

java.lang.Object
  extended by redstone.xmlrpc.serializers.json.MapSerializer
All Implemented Interfaces:
XmlRpcCustomSerializer

public class MapSerializer
extends java.lang.Object
implements XmlRpcCustomSerializer

Serializes java.util.Maps into JSON objects. For each value in the map it recursively calls the XmlRpcSerializer, which potentially ends up back in this class if a value in the Map is another Map. The key should be a String or something that properly implements toString().

Author:
Greger Olsson

Constructor Summary
MapSerializer()
           
 
Method Summary
 java.lang.Class getSupportedClass()
          Returns the class of objects this serializer knows how to handle.
 void serialize(java.lang.Object value, java.io.Writer writer, XmlRpcSerializer builtInSerializer)
          Asks the custom serializer to serialize the supplied value into the supplied writer.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapSerializer

public MapSerializer()
Method Detail

getSupportedClass

public java.lang.Class getSupportedClass()
Description copied from interface: XmlRpcCustomSerializer
Returns the class of objects this serializer knows how to handle.

Specified by:
getSupportedClass in interface XmlRpcCustomSerializer
Returns:
The class of objects interpretable to this serializer.

serialize

public void serialize(java.lang.Object value,
                      java.io.Writer writer,
                      XmlRpcSerializer builtInSerializer)
               throws XmlRpcException,
                      java.io.IOException
Description copied from interface: XmlRpcCustomSerializer
Asks the custom serializer to serialize the supplied value into the supplied writer. The supplied value will be of the type reported in getSupportedClass() or of a type extending therefrom.

Specified by:
serialize in interface XmlRpcCustomSerializer
Parameters:
value - The object to serialize.
writer - The writer to place the serialized data.
builtInSerializer - The built-in serializer used by the client or the server.
Throws:
XmlRpcException - if the value somehow could not be serialized. Many serializers rely on the built in serializer which also may throw this exception.
java.io.IOException - if there was an error serializing the value through the writer. The exception is the exception thrown by the writer, which in most cases will be a StringWriter, in which case this exception will never occurr. XmlRpcSerializer and custom serializers may, however, be used outside of the XML-RPC library to encode information in XML-RPC structs, in which case the writer potentially could be writing the information over a socket stream for instance.