Package com.jme3.network.serializing
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
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 Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Serializer
getExactSerializer
(Class cls) static SerializerRegistration
static Serializer
getSerializer
(Class cls) static Serializer
getSerializer
(Class cls, boolean failOnMiss) static SerializerRegistration
static SerializerRegistration
getSerializerRegistration
(Class cls, boolean failOnMiss) static Collection<SerializerRegistration>
static void
void
initialize
(Class clazz) Registration for when a serializer may need to cache something.static boolean
static SerializerRegistration
readClass
(ByteBuffer buffer) Read the class from given buffer and return its SerializerRegistration.static Object
readClassAndObject
(ByteBuffer buffer) Read the class and the object.abstract <T> T
readObject
(ByteBuffer data, Class<T> c) Read an object from the buffer, effectively deserializing it.static SerializerRegistration
registerClass
(Class cls) static SerializerRegistration
registerClass
(Class cls, boolean failOnMiss) Registers the specified class.static SerializerRegistration
registerClass
(Class cls, Serializer serializer) static void
registerClasses
(Class... classes) static SerializerRegistration
registerClassForId
(short id, Class cls, Serializer serializer) Directly registers a class for a specific ID.static SerializerRegistration[]
registerPackage
(String pkgName) Deprecated.This cannot be implemented in a reasonable way that works in all deployment methods.static void
setReadOnly
(boolean b) Can put the registry in a read-only state such that additional attempts to register classes will fail.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.static SerializerRegistration
writeClass
(ByteBuffer buffer, Class type) Write a class and return its SerializerRegistration.static void
writeClassAndObject
(ByteBuffer buffer, Object object) Write the class and object.abstract void
writeObject
(ByteBuffer buffer, Object object) Write an object to the buffer, effectively serializing it.
-
Field Details
-
log
-
-
Constructor Details
-
Serializer
public Serializer()
-
-
Method Details
-
initialize
public static void initialize() -
setStrictRegistration
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
-
registerClasses
-
setReadOnly
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
public static boolean isReadOnly() -
registerClassForId
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
Registers the specified class. The failOnMiss flag controls whether this method returns null for failed registration or throws an exception. -
registerPackage
Deprecated.This cannot be implemented in a reasonable way that works in all deployment methods. -
registerClass
-
getExactSerializer
-
getSerializer
-
getSerializer
-
getSerializerRegistrations
-
getExactSerializerRegistration
-
getSerializerRegistration
-
getSerializerRegistration
-
readClass
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
Read the class and the object.- Parameters:
buffer
- Buffer to read from.- Returns:
- The Object that was read.
- Throws:
IOException
- If serialization failed.
-
writeClass
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
Write the class and object.- Parameters:
buffer
- The buffer to write to.object
- The object to write.- Throws:
IOException
- If serializing fails.
-
readObject
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
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
Registration for when a serializer may need to cache something. Override to use.- Parameters:
clazz
- The class that has been registered to the serializer.
-