Package com.esotericsoftware.kryo.util
Class DefaultClassResolver
- java.lang.Object
-
- 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.- Author:
- Nathan Sweet
-
-
Field Summary
Fields Modifier and Type Field Description protected IdentityObjectIntMap<java.lang.Class>
classToNameId
protected CuckooObjectMap<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
Constructors Constructor Description DefaultClassResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Registration
getRegistration(int classID)
Returns the registration for the specified ID, or null if no class is registered with that ID.Registration
getRegistration(java.lang.Class type)
Returns the registration for the specified class, or null if the class is not registered.protected java.lang.Class
getTypeByName(java.lang.String className)
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 andKryo.setRegistrationRequired(boolean)
is false.void
reset()
Called byKryo.reset()
.void
setKryo(Kryo kryo)
Sets the Kryo instance that this ClassResolver will be used for.Registration
unregister(int classID)
Removes the registration for the specified ID.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)
-
-
-
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 CuckooObjectMap<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
-
-
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 interfaceClassResolver
-
register
public Registration register(Registration registration)
Description copied from interface:ClassResolver
Stores the specified registration.- Specified by:
register
in interfaceClassResolver
- See Also:
Kryo.register(Registration)
-
unregister
public Registration unregister(int classID)
Description copied from interface:ClassResolver
Removes the registration for the specified ID.- Specified by:
unregister
in interfaceClassResolver
- Returns:
- May be null if the class ID was not registered.
-
registerImplicit
public Registration registerImplicit(java.lang.Class type)
Description copied from interface:ClassResolver
Called when an unregistered type is encountered andKryo.setRegistrationRequired(boolean)
is false.- Specified by:
registerImplicit
in interfaceClassResolver
-
getRegistration
public Registration getRegistration(java.lang.Class type)
Description copied from interface:ClassResolver
Returns the registration for the specified class, or null if the class is not registered.- Specified by:
getRegistration
in interfaceClassResolver
-
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 interfaceClassResolver
-
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 interfaceClassResolver
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 interfaceClassResolver
- Returns:
- May be null.
-
readName
protected Registration readName(Input input)
-
getTypeByName
protected java.lang.Class getTypeByName(java.lang.String className)
-
reset
public void reset()
Description copied from interface:ClassResolver
Called byKryo.reset()
.- Specified by:
reset
in interfaceClassResolver
-
-