in java/fury-core/src/main/java/org/apache/fury/serializer/AbstractObjectSerializer.java [833:864]
private Object copyField(Object targetObject, long fieldOffset, short classId) {
switch (classId) {
case ClassResolver.PRIMITIVE_BOOLEAN_CLASS_ID:
return Platform.getBoolean(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_BYTE_CLASS_ID:
return Platform.getByte(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_CHAR_CLASS_ID:
return Platform.getChar(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_SHORT_CLASS_ID:
return Platform.getShort(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_INT_CLASS_ID:
return Platform.getInt(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_FLOAT_CLASS_ID:
return Platform.getFloat(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_LONG_CLASS_ID:
return Platform.getLong(targetObject, fieldOffset);
case ClassResolver.PRIMITIVE_DOUBLE_CLASS_ID:
return Platform.getDouble(targetObject, fieldOffset);
case ClassResolver.BOOLEAN_CLASS_ID:
case ClassResolver.BYTE_CLASS_ID:
case ClassResolver.CHAR_CLASS_ID:
case ClassResolver.SHORT_CLASS_ID:
case ClassResolver.INTEGER_CLASS_ID:
case ClassResolver.FLOAT_CLASS_ID:
case ClassResolver.LONG_CLASS_ID:
case ClassResolver.DOUBLE_CLASS_ID:
case ClassResolver.STRING_CLASS_ID:
return Platform.getObject(targetObject, fieldOffset);
default:
return fury.copyObject(Platform.getObject(targetObject, fieldOffset));
}
}