in java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryUtils.java [29:67]
public static String getElemAccessMethodName(TypeRef type) {
if (TypeUtils.PRIMITIVE_BYTE_TYPE.equals(type) || TypeUtils.BYTE_TYPE.equals(type)) {
return "getByte";
} else if (TypeUtils.PRIMITIVE_BOOLEAN_TYPE.equals(type)
|| TypeUtils.BOOLEAN_TYPE.equals(type)) {
return "getBoolean";
} else if (TypeUtils.PRIMITIVE_SHORT_TYPE.equals(type) || TypeUtils.SHORT_TYPE.equals(type)) {
return "getInt16";
} else if (TypeUtils.PRIMITIVE_INT_TYPE.equals(type) || TypeUtils.INT_TYPE.equals(type)) {
return "getInt32";
} else if (TypeUtils.PRIMITIVE_LONG_TYPE.equals(type) || TypeUtils.LONG_TYPE.equals(type)) {
return "getInt64";
} else if (TypeUtils.PRIMITIVE_FLOAT_TYPE.equals(type) || TypeUtils.FLOAT_TYPE.equals(type)) {
return "getFloat32";
} else if (TypeUtils.PRIMITIVE_DOUBLE_TYPE.equals(type) || TypeUtils.DOUBLE_TYPE.equals(type)) {
return "getFloat64";
} else if (TypeUtils.BIG_DECIMAL_TYPE.equals(type)) {
return "getDecimal";
} else if (TypeUtils.DATE_TYPE.equals(type)) {
return "getDate";
} else if (TypeUtils.TIMESTAMP_TYPE.equals(type)) {
return "getTimestamp";
} else if (TypeUtils.STRING_TYPE.equals(type)) {
return "getString";
} else if (type.isArray() || TypeUtils.ITERABLE_TYPE.isSupertypeOf(type)) {
// Since row-format serialize bytes as array data, instead of call `writer.write(int ordinal,
// byte[] input)`,
// we take BINARY_TYPE as byte[] array.
return "getArray";
} else if (TypeUtils.MAP_TYPE.isSupertypeOf(type)) {
return "getMap";
} else if (TypeUtils.isBean(type)) {
return "getStruct";
} else {
// take unknown type as OBJECT_TYPE, return as sliced MemoryBuffer
// slice MemoryBuffer, then deserialize in EncodeExpressionBuilder.deserializeFor
return "getBuffer";
}
}