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>classToNameIdprotected ObjectMap<java.lang.Class,Registration>classToRegistrationprotected IntMap<Registration>idToRegistrationprotected Kryokryostatic byteNAMEprotected IntMap<java.lang.Class>nameIdToClassprotected ObjectMap<java.lang.String,java.lang.Class>nameToClassprotected intnextNameId
-
Constructor Summary
Constructors Constructor Description DefaultClassResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RegistrationgetRegistration(int classID)Returns the registration for the specified ID, or null if no class is registered with that ID.RegistrationgetRegistration(java.lang.Class type)Returns the registration for the specified class, or null if the class is not registered.protected java.lang.ClassgetTypeByName(java.lang.String className)RegistrationreadClass(Input input)Reads a class and returns its registration.protected RegistrationreadName(Input input)Registrationregister(Registration registration)Stores the specified registration.RegistrationregisterImplicit(java.lang.Class type)Called when an unregistered type is encountered andKryo.setRegistrationRequired(boolean)is false.voidreset()Called byKryo.reset().voidsetKryo(Kryo kryo)Sets the Kryo instance that this ClassResolver will be used for.Registrationunregister(int classID)Removes the registration for the specified ID.RegistrationwriteClass(Output output, java.lang.Class type)Writes a class and returns its registration.protected voidwriteName(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 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
-
-
Method Detail
-
setKryo
public void setKryo(Kryo kryo)
Description copied from interface:ClassResolverSets the Kryo instance that this ClassResolver will be used for. This is called automatically by Kryo.- Specified by:
setKryoin interfaceClassResolver
-
register
public Registration register(Registration registration)
Description copied from interface:ClassResolverStores the specified registration.- Specified by:
registerin interfaceClassResolver- See Also:
Kryo.register(Registration)
-
unregister
public Registration unregister(int classID)
Description copied from interface:ClassResolverRemoves the registration for the specified ID.- Specified by:
unregisterin interfaceClassResolver- Returns:
- May be null if the class ID was not registered.
-
registerImplicit
public Registration registerImplicit(java.lang.Class type)
Description copied from interface:ClassResolverCalled when an unregistered type is encountered andKryo.setRegistrationRequired(boolean)is false.- Specified by:
registerImplicitin interfaceClassResolver
-
getRegistration
public Registration getRegistration(java.lang.Class type)
Description copied from interface:ClassResolverReturns the registration for the specified class, or null if the class is not registered.- Specified by:
getRegistrationin interfaceClassResolver
-
getRegistration
public Registration getRegistration(int classID)
Description copied from interface:ClassResolverReturns the registration for the specified ID, or null if no class is registered with that ID.- Specified by:
getRegistrationin interfaceClassResolver
-
writeClass
public Registration writeClass(Output output, java.lang.Class type)
Description copied from interface:ClassResolverWrites a class and returns its registration.- Specified by:
writeClassin interfaceClassResolvertype- 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:ClassResolverReads a class and returns its registration.- Specified by:
readClassin 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:ClassResolverCalled byKryo.reset().- Specified by:
resetin interfaceClassResolver
-
-