in java/fury-core/src/main/java/org/apache/fury/serializer/AbstractObjectSerializer.java [328:425]
static boolean writeBasicNullableObjectFieldValueFailed(
Fury fury, MemoryBuffer buffer, Object fieldValue, short classId) {
if (!fury.isBasicTypesRefIgnored()) {
return true; // let common path handle this.
}
// add time types serialization here.
switch (classId) {
case ClassResolver.STRING_CLASS_ID: // fastpath for string.
fury.writeJavaStringRef(buffer, (String) (fieldValue));
return false;
case ClassResolver.BOOLEAN_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
buffer.writeBoolean((Boolean) (fieldValue));
}
return false;
}
case ClassResolver.BYTE_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
buffer.writeByte((Byte) (fieldValue));
}
return false;
}
case ClassResolver.CHAR_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
buffer.writeChar((Character) (fieldValue));
}
return false;
}
case ClassResolver.SHORT_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
buffer.writeInt16((Short) (fieldValue));
}
return false;
}
case ClassResolver.INTEGER_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
if (fury.compressInt()) {
buffer.writeVarInt32((Integer) (fieldValue));
} else {
buffer.writeInt32((Integer) (fieldValue));
}
}
return false;
}
case ClassResolver.FLOAT_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
buffer.writeFloat32((Float) (fieldValue));
}
return false;
}
case ClassResolver.LONG_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
fury.writeInt64(buffer, (Long) fieldValue);
}
return false;
}
case ClassResolver.DOUBLE_CLASS_ID:
{
if (fieldValue == null) {
buffer.writeByte(Fury.NULL_FLAG);
} else {
buffer.writeByte(Fury.NOT_NULL_VALUE_FLAG);
buffer.writeFloat64((Double) (fieldValue));
}
return false;
}
default:
return true;
}
}