Package com.esotericsoftware.kryo.util
Class NoGenerics
- java.lang.Object
-
- com.esotericsoftware.kryo.util.NoGenerics
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.esotericsoftware.kryo.util.Generics
Generics.GenericsHierarchy, Generics.GenericType
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getGenericTypesSize()
Returns the number of generic types currently trackedClass
nextGenericClass()
Resolves the first type parameter and returns the class, or null if it could not be resolved or there are no type parameters.Generics.GenericType[]
nextGenericTypes()
Returns the current type parameters andpushes
the next level of type parameters for subsquent calls.void
popGenericType()
Removes the generic types being tracked since the correspondingGenerics.pushGenericType(GenericType)
.void
popTypeVariables(int count)
Removes the number of entries that were pushed byGenerics.pushTypeVariables(GenericsHierarchy, GenericType[])
.void
pushGenericType(Generics.GenericType fieldType)
Sets the type that is currently being serialized.int
pushTypeVariables(Generics.GenericsHierarchy hierarchy, Generics.GenericType[] args)
Stores the types of the type parameters for the specified class hierarchy.Class
resolveTypeVariable(TypeVariable typeVariable)
Returns the class for the specified type variable, or null if it is not known.
-
-
-
Field Detail
-
INSTANCE
public static final Generics INSTANCE
-
-
Method Detail
-
pushGenericType
public void pushGenericType(Generics.GenericType fieldType)
Description copied from interface:Generics
Sets the type that is currently being serialized. Must be balanced byGenerics.popGenericType()
. Between those calls, thetype parameters
are returned byGenerics.nextGenericTypes()
andGenerics.nextGenericClass()
.- Specified by:
pushGenericType
in interfaceGenerics
-
popGenericType
public void popGenericType()
Description copied from interface:Generics
Removes the generic types being tracked since the correspondingGenerics.pushGenericType(GenericType)
. This is safe to call even ifGenerics.pushGenericType(GenericType)
was not called.- Specified by:
popGenericType
in interfaceGenerics
-
nextGenericTypes
public Generics.GenericType[] nextGenericTypes()
Description copied from interface:Generics
Returns the current type parameters andpushes
the next level of type parameters for subsquent calls. Must be balanced byGenerics.popGenericType()
(optional if null is returned). If multiple type parameters are returned, the last is used to advance to the next level of type parameters.Generics.nextGenericClass()
is easier to use when a class has a single type parameter. When a class has multiple type parameters,Generics.pushGenericType(GenericType)
must be used for all except the last parameter.- Specified by:
nextGenericTypes
in interfaceGenerics
- Returns:
- May be null.
-
nextGenericClass
public Class nextGenericClass()
Description copied from interface:Generics
Resolves the first type parameter and returns the class, or null if it could not be resolved or there are no type parameters. UsesGenerics.nextGenericTypes()
, so must be balanced byGenerics.popGenericType()
(optional if null is returned).This method is intended for ease of use when a class has a single type parameter.
- Specified by:
nextGenericClass
in interfaceGenerics
- Returns:
- May be null.
-
pushTypeVariables
public int pushTypeVariables(Generics.GenericsHierarchy hierarchy, Generics.GenericType[] args)
Description copied from interface:Generics
Stores the types of the type parameters for the specified class hierarchy. Must be balanced byGenerics.popTypeVariables(int)
if >0 is returned.- Specified by:
pushTypeVariables
in interfaceGenerics
args
- May contain null for type arguments that aren't known.- Returns:
- The number of entries that were pushed.
-
popTypeVariables
public void popTypeVariables(int count)
Description copied from interface:Generics
Removes the number of entries that were pushed byGenerics.pushTypeVariables(GenericsHierarchy, GenericType[])
.- Specified by:
popTypeVariables
in interfaceGenerics
- Parameters:
count
- Must be even.
-
resolveTypeVariable
public Class resolveTypeVariable(TypeVariable typeVariable)
Description copied from interface:Generics
Returns the class for the specified type variable, or null if it is not known.- Specified by:
resolveTypeVariable
in interfaceGenerics
- Returns:
- May be null.
-
getGenericTypesSize
public int getGenericTypesSize()
Description copied from interface:Generics
Returns the number of generic types currently tracked- Specified by:
getGenericTypesSize
in interfaceGenerics
-
-