Class Serializer

java.lang.Object
com.jme3.network.serializing.Serializer
Direct Known Subclasses:
ArraySerializer, BooleanSerializer, ByteSerializer, CharSerializer, ClientRegistrationMessage.ClientRegistrationSerializer, CollectionSerializer, DateSerializer, DisconnectMessage.DisconnectSerializer, DoubleSerializer, EnumSerializer, FieldSerializer, FloatSerializer, GZIPSerializer, IntSerializer, LongSerializer, MapSerializer, RmiSerializer, SavableSerializer, SerializableSerializer, ShortSerializer, StringSerializer, Vector3Serializer, ZIPSerializer

public abstract class Serializer extends Object
The main serializer class, which will serialize objects such that they can be sent across the network. Serializing classes should extend this to provide their own serialization.
  • Field Details Link icon

    • log Link icon

      protected static final Logger log
  • Constructor Details Link icon

    • Serializer Link icon

      public Serializer()
  • Method Details Link icon

    • initialize Link icon

      public static void initialize()
    • setStrictRegistration Link icon

      public static void setStrictRegistration(boolean b)
      When set to true, classes that do not have intrinsic IDs in their @Serializable will not be auto-registered during write. Defaults to true since this is almost never desired behavior with the way this code works. Set to false to get the old permissive behavior.
    • registerClass Link icon

      public static SerializerRegistration registerClass(Class cls)
    • registerClasses Link icon

      public static void registerClasses(Class... classes)
    • setReadOnly Link icon

      public static void setReadOnly(boolean b)
      Can put the registry in a read-only state such that additional attempts to register classes will fail. This can be used by servers to lock the registry to avoid accidentally registering classes after a full registry set has been compiled.
    • isReadOnly Link icon

      public static boolean isReadOnly()
    • registerClassForId Link icon

      public static SerializerRegistration registerClassForId(short id, Class cls, Serializer serializer)
      Directly registers a class for a specific ID. Generally, use the regular registerClass() method. This method is intended for framework code that might be maintaining specific ID maps across client and server.
    • registerClass Link icon

      public static SerializerRegistration registerClass(Class cls, boolean failOnMiss)
      Registers the specified class. The failOnMiss flag controls whether this method returns null for failed registration or throws an exception.
    • registerPackage Link icon

      @Deprecated public static SerializerRegistration[] registerPackage(String pkgName)
      Deprecated.
      This cannot be implemented in a reasonable way that works in all deployment methods.
    • registerClass Link icon

      public static SerializerRegistration registerClass(Class cls, Serializer serializer)
    • getExactSerializer Link icon

      public static Serializer getExactSerializer(Class cls)
    • getSerializer Link icon

      public static Serializer getSerializer(Class cls)
    • getSerializer Link icon

      public static Serializer getSerializer(Class cls, boolean failOnMiss)
    • getSerializerRegistrations Link icon

      public static Collection<SerializerRegistration> getSerializerRegistrations()
    • getExactSerializerRegistration Link icon

      public static SerializerRegistration getExactSerializerRegistration(Class cls)
    • getSerializerRegistration Link icon

      public static SerializerRegistration getSerializerRegistration(Class cls)
    • getSerializerRegistration Link icon

      public static SerializerRegistration getSerializerRegistration(Class cls, boolean failOnMiss)
    • readClass Link icon

      public static SerializerRegistration readClass(ByteBuffer buffer)
      Read the class from given buffer and return its SerializerRegistration.
      Parameters:
      buffer - The buffer to read from.
      Returns:
      The SerializerRegistration, or null if non-existent.
    • readClassAndObject Link icon

      public static Object readClassAndObject(ByteBuffer buffer) throws IOException
      Read the class and the object.
      Parameters:
      buffer - Buffer to read from.
      Returns:
      The Object that was read.
      Throws:
      IOException - If serialization failed.
    • writeClass Link icon

      public static SerializerRegistration writeClass(ByteBuffer buffer, Class type) throws IOException
      Write a class and return its SerializerRegistration.
      Parameters:
      buffer - The buffer to write the given class to.
      type - The class to write.
      Returns:
      The SerializerRegistration that's registered to the class.
      Throws:
      IOException
    • writeClassAndObject Link icon

      public static void writeClassAndObject(ByteBuffer buffer, Object object) throws IOException
      Write the class and object.
      Parameters:
      buffer - The buffer to write to.
      object - The object to write.
      Throws:
      IOException - If serializing fails.
    • readObject Link icon

      public abstract <T> T readObject(ByteBuffer data, Class<T> c) throws IOException
      Read an object from the buffer, effectively deserializing it.
      Parameters:
      data - The buffer to read from.
      c - The class of the object.
      Returns:
      The object read.
      Throws:
      IOException - If deserializing fails.
    • writeObject Link icon

      public abstract void writeObject(ByteBuffer buffer, Object object) throws IOException
      Write an object to the buffer, effectively serializing it.
      Parameters:
      buffer - The buffer to write to.
      object - The object to serialize.
      Throws:
      IOException - If serializing fails.
    • initialize Link icon

      public void initialize(Class clazz)
      Registration for when a serializer may need to cache something. Override to use.
      Parameters:
      clazz - The class that has been registered to the serializer.