package com.google.appengine.api.datastore;
import com.google.gwt.user.client.rpc.SerializationException;
import com.google.gwt.user.client.rpc.SerializationStreamReader;
import com.google.gwt.user.client.rpc.SerializationStreamWriter;
/**
* Custom field serializer for the datastore IMHandle class
*/
public class IMHandle_CustomFieldSerializer
{
public static void deserialize(SerializationStreamReader streamReader, IMHandle instance)
throws SerializationException
{
// already handled in instantiate
}
public static IMHandle instantiate(SerializationStreamReader streamReader)
throws SerializationException
{
String s = streamReader.readString();
String address = streamReader.readString();
IMHandle.Scheme scheme = IMHandle.Scheme.valueOf(s);
return new IMHandle(scheme, address);
}
public static void serialize(SerializationStreamWriter streamWriter, IMHandle instance)
throws SerializationException
{
streamWriter.writeString(instance.getProtocol());
streamWriter.writeString(instance.getAddress());
}
}