Example usage for com.google.gwt.user.client.rpc CustomFieldSerializer serializeInstance

List of usage examples for com.google.gwt.user.client.rpc CustomFieldSerializer serializeInstance

Introduction

In this page you can find the example usage for com.google.gwt.user.client.rpc CustomFieldSerializer serializeInstance.

Prototype

public abstract void serializeInstance(SerializationStreamWriter streamWriter, T instance)
        throws SerializationException;

Source Link

Document

Serializes the content of the object into the SerializationStreamWriter .

Usage

From source file:com.foo.server.rpc230.ServerSerializationStreamWriterSenasa.java

License:Apache License

private void serializeImpl(Object instance, Class<?> instanceClass) throws SerializationException {
    assert (instance != null);

    Class<?> customSerializer = SerializabilityUtil.hasCustomFieldSerializer(instanceClass);
    if (customSerializer != null) {
        // Use custom field serializer
        @SuppressWarnings("unchecked")
        CustomFieldSerializer<Object> customFieldSerializer = (CustomFieldSerializer<Object>) SerializabilityUtil
                .loadCustomFieldSerializer(customSerializer);
        if (customFieldSerializer == null) {
            serializeWithCustomSerializer(customSerializer, instance, instanceClass);
        } else {/*from w ww . j a  v  a 2s .c om*/
            customFieldSerializer.serializeInstance(this, instance);
        }
    } else if (instanceClass.isArray()) {
        serializeArray(instanceClass, instance);
    } else if (instanceClass.isEnum()) {
        writeInt(((Enum<?>) instance).ordinal());
    } else {
        // Regular class instance
        serializeClass(instance, instanceClass);
    }
}