Class SerializationPolicy

java.lang.Object
com.google.gwt.user.server.rpc.SerializationPolicy

public abstract class SerializationPolicy extends Object
This is an abstract class for representing the serialization policy for a given module and RemoteService. The serialize and deserialize queries are from the perspective of the server, not the web browser.
  • Constructor Details

    • SerializationPolicy

      public SerializationPolicy()
  • Method Details

    • getClientFieldNamesForEnhancedClass

      public Set<String> getClientFieldNamesForEnhancedClass(Class<?> clazz)
      Returns the field names of the given class known to the client for classes that are expected to be enhanced on the server to have additional fields, or null for classes that are not expected to be enhanced.
      Parameters:
      clazz - the class to test
      Returns:
      a set containing client field names, or null
    • shouldDeserializeFields

      public abstract boolean shouldDeserializeFields(Class<?> clazz)
      Returns true if the class' fields should be deserialized.
      Parameters:
      clazz - the class to test
      Returns:
      true if the class' fields should be deserialized
    • shouldSerializeFields

      public abstract boolean shouldSerializeFields(Class<?> clazz)
      Returns true if the class' fields should be serialized.
      Parameters:
      clazz - the class to test
      Returns:
      true if the class' fields should be serialized
    • shouldSerializeFinalFields

      public boolean shouldSerializeFinalFields()
      Returns whether the client was compiled with rpc.XserializeFinalFields = true.
    • validateDeserialize

      public abstract void validateDeserialize(Class<?> clazz) throws SerializationException
      Validates that the specified class should be deserialized from a stream.
      Parameters:
      clazz - the class to validate
      Throws:
      SerializationException - if the class is not allowed to be deserialized
    • validateSerialize

      public abstract void validateSerialize(Class<?> clazz) throws SerializationException
      Validates that the specified class should be serialized into a stream.
      Parameters:
      clazz - the class to validate
      Throws:
      SerializationException - if the class is not allowed to be serialized
    • hasClientFields

      public boolean hasClientFields()
      Returns true if there may be any unsafe client fields in the serialization policy. The default implementation returns true to ensure that custom implementations validate accordingly.
      Returns:
      true if the client may send unsafely serialized data, false otherwise