12 lines
1.3 KiB
Java
12 lines
1.3 KiB
Java
package com.esotericsoftware.kryo.serializers;
|
|
|
|
import com.esotericsoftware.kryo.serializers.AsmCacheFields;
|
|
import com.esotericsoftware.kryo.serializers.FieldSerializer;
|
|
import java.lang.reflect.Field;
|
|
public class AsmCachedFieldFactory implements FieldSerializer.CachedFieldFactory {
|
|
@Override // com.esotericsoftware.kryo.serializers.FieldSerializer.CachedFieldFactory
|
|
public FieldSerializer.CachedField createCachedField(Class cls, Field field, FieldSerializer fieldSerializer) {
|
|
return cls.isPrimitive() ? cls == Boolean.TYPE ? new AsmCacheFields.AsmBooleanField() : cls == Byte.TYPE ? new AsmCacheFields.AsmByteField() : cls == Character.TYPE ? new AsmCacheFields.AsmCharField() : cls == Short.TYPE ? new AsmCacheFields.AsmShortField() : cls == Integer.TYPE ? new AsmCacheFields.AsmIntField() : cls == Long.TYPE ? new AsmCacheFields.AsmLongField() : cls == Float.TYPE ? new AsmCacheFields.AsmFloatField() : cls == Double.TYPE ? new AsmCacheFields.AsmDoubleField() : new AsmCacheFields.AsmObjectField(fieldSerializer) : (cls != String.class || (fieldSerializer.kryo.getReferences() && fieldSerializer.kryo.getReferenceResolver().useReferences(String.class))) ? new AsmCacheFields.AsmObjectField(fieldSerializer) : new AsmCacheFields.AsmStringField();
|
|
}
|
|
}
|