com.esotericsoftware.kryo.util
Class DefaultClassResolver

java.lang.Object
  extended by com.esotericsoftware.kryo.util.DefaultClassResolver
All Implemented Interfaces:
ClassResolver

public class DefaultClassResolver
extends java.lang.Object
implements ClassResolver

Resolves classes by ID or by fully qualified class name.


Field Summary
protected  IdentityObjectIntMap<java.lang.Class> classToNameId
           
protected  ObjectMap<java.lang.Class,Registration> classToRegistration
           
protected  IntMap<Registration> idToRegistration
           
protected  Kryo kryo
           
static byte NAME
           
protected  IntMap<java.lang.Class> nameIdToClass
           
protected  ObjectMap<java.lang.String,java.lang.Class> nameToClass
           
protected  int nextNameId
           
 
Constructor Summary
DefaultClassResolver()
           
 
Method Summary
 Registration getRegistration(java.lang.Class type)
          If the class is not registered and Kryo.setRegistrationRequired(boolean) is false, it is automatically registered using the default serializer.
 Registration getRegistration(int classID)
          Returns the registration for the specified ID, or null if no class is registered with that ID.
 Registration readClass(Input input)
          Reads a class and returns its registration.
protected  Registration readName(Input input)
           
 Registration register(Registration registration)
          Stores the specified registration.
 Registration registerImplicit(java.lang.Class type)
          Called when an unregistered type is encountered and Kryo.setRegistrationRequired(boolean) is false.
 void reset()
          Called by Kryo.reset().
 void setKryo(Kryo kryo)
          Sets the Kryo instance that this ClassResolver will be used for.
 Registration writeClass(Output output, java.lang.Class type)
          Writes a class and returns its registration.
protected  void writeName(Output output, java.lang.Class type, Registration registration)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME

public static final byte NAME
See Also:
Constant Field Values

kryo

protected Kryo kryo

idToRegistration

protected final IntMap<Registration> idToRegistration

classToRegistration

protected final ObjectMap<java.lang.Class,Registration> classToRegistration

classToNameId

protected IdentityObjectIntMap<java.lang.Class> classToNameId

nameIdToClass

protected IntMap<java.lang.Class> nameIdToClass

nameToClass

protected ObjectMap<java.lang.String,java.lang.Class> nameToClass

nextNameId

protected int nextNameId
Constructor Detail

DefaultClassResolver

public DefaultClassResolver()
Method Detail

setKryo

public void setKryo(Kryo kryo)
Description copied from interface: ClassResolver
Sets the Kryo instance that this ClassResolver will be used for. This is called automatically by Kryo.

Specified by:
setKryo in interface ClassResolver

register

public Registration register(Registration registration)
Description copied from interface: ClassResolver
Stores the specified registration.

Specified by:
register in interface ClassResolver
See Also:
Kryo.register(Registration)

registerImplicit

public Registration registerImplicit(java.lang.Class type)
Description copied from interface: ClassResolver
Called when an unregistered type is encountered and Kryo.setRegistrationRequired(boolean) is false.

Specified by:
registerImplicit in interface ClassResolver

getRegistration

public Registration getRegistration(java.lang.Class type)
If the class is not registered and Kryo.setRegistrationRequired(boolean) is false, it is automatically registered using the default serializer.

Specified by:
getRegistration in interface ClassResolver

getRegistration

public Registration getRegistration(int classID)
Description copied from interface: ClassResolver
Returns the registration for the specified ID, or null if no class is registered with that ID.

Specified by:
getRegistration in interface ClassResolver

writeClass

public Registration writeClass(Output output,
                               java.lang.Class type)
Description copied from interface: ClassResolver
Writes a class and returns its registration.

Specified by:
writeClass in interface ClassResolver
type - May be null.
Returns:
Will be null if type is null.

writeName

protected void writeName(Output output,
                         java.lang.Class type,
                         Registration registration)

readClass

public Registration readClass(Input input)
Description copied from interface: ClassResolver
Reads a class and returns its registration.

Specified by:
readClass in interface ClassResolver
Returns:
May be null.

readName

protected Registration readName(Input input)

reset

public void reset()
Description copied from interface: ClassResolver
Called by Kryo.reset().

Specified by:
reset in interface ClassResolver