redstone.xmlrpc
Interface XmlRpcCustomSerializer

All Known Implementing Classes:
BooleanArraySerializer, BooleanArraySerializer, CollectionSerializer, CollectionSerializer, DoubleArraySerializer, DoubleArraySerializer, FloatArraySerializer, FloatArraySerializer, IntArraySerializer, IntArraySerializer, IntrospectingSerializer, IntrospectingSerializer, ListSerializer, ListSerializer, MapSerializer, MapSerializer, ObjectArraySerializer, ObjectArraySerializer

public interface XmlRpcCustomSerializer

Java objects are serialized into XML-RPC values using instances of classes implementing the XmlRpcCustomSerializer class. When processing an argument or a return value for an XML-RPC call, the XmlRpcSerializer will look through its list of XmlRpcCustomSerializer objects for a serializer that matches the object type of the value. The getValueClass() returns the Class supported by that serializer.

A number of serializers for common types are already implemented, but you may wish to add custom serializers for special types of Java objects.

Author:
Greger Olsson

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 output, XmlRpcSerializer builtInSerializer)
          Asks the custom serializer to serialize the supplied value into the supplied writer.
 

Method Detail

getSupportedClass

java.lang.Class getSupportedClass()
Returns the class of objects this serializer knows how to handle.

Returns:
The class of objects interpretable to this serializer.

serialize

void serialize(java.lang.Object value,
               java.io.Writer output,
               XmlRpcSerializer builtInSerializer)
               throws XmlRpcException,
                      java.io.IOException
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.

Parameters:
value - The object to serialize.
output - 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.