Class SerializationPolicy


  • public abstract class SerializationPolicy
    extends java.lang.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.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Set<java.lang.String> getClientFieldNamesForEnhancedClass​(java.lang.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.
      abstract boolean shouldDeserializeFields​(java.lang.Class<?> clazz)
      Returns true if the class' fields should be deserialized.
      abstract boolean shouldSerializeFields​(java.lang.Class<?> clazz)
      Returns true if the class' fields should be serialized.
      boolean shouldSerializeFinalFields()
      Returns whether the client was compiled with rpc.XserializeFinalFields = true.
      abstract void validateDeserialize​(java.lang.Class<?> clazz)
      Validates that the specified class should be deserialized from a stream.
      abstract void validateSerialize​(java.lang.Class<?> clazz)
      Validates that the specified class should be serialized into a stream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SerializationPolicy

        public SerializationPolicy()
    • Method Detail

      • getClientFieldNamesForEnhancedClass

        public java.util.Set<java.lang.String> getClientFieldNamesForEnhancedClass​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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