in modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java [1118:1222]
public static BinaryWriteMode mode(Class<?> cls) {
assert cls != null;
// Primitives.
if (cls == byte.class)
return BinaryWriteMode.P_BYTE;
else if (cls == boolean.class)
return BinaryWriteMode.P_BOOLEAN;
else if (cls == short.class)
return BinaryWriteMode.P_SHORT;
else if (cls == char.class)
return BinaryWriteMode.P_CHAR;
else if (cls == int.class)
return BinaryWriteMode.P_INT;
else if (cls == long.class)
return BinaryWriteMode.P_LONG;
else if (cls == float.class)
return BinaryWriteMode.P_FLOAT;
else if (cls == double.class)
return BinaryWriteMode.P_DOUBLE;
// Boxed primitives.
else if (cls == Byte.class)
return BinaryWriteMode.BYTE;
else if (cls == Boolean.class)
return BinaryWriteMode.BOOLEAN;
else if (cls == Short.class)
return BinaryWriteMode.SHORT;
else if (cls == Character.class)
return BinaryWriteMode.CHAR;
else if (cls == Integer.class)
return BinaryWriteMode.INT;
else if (cls == Long.class)
return BinaryWriteMode.LONG;
else if (cls == Float.class)
return BinaryWriteMode.FLOAT;
else if (cls == Double.class)
return BinaryWriteMode.DOUBLE;
// The rest types.
else if (cls == BigDecimal.class)
return BinaryWriteMode.DECIMAL;
else if (cls == String.class)
return BinaryWriteMode.STRING;
else if (cls == UUID.class)
return BinaryWriteMode.UUID;
else if (cls == Date.class)
return BinaryWriteMode.DATE;
else if (cls == Timestamp.class)
return BinaryWriteMode.TIMESTAMP;
else if (cls == Time.class)
return BinaryWriteMode.TIME;
else if (cls == byte[].class)
return BinaryWriteMode.BYTE_ARR;
else if (cls == short[].class)
return BinaryWriteMode.SHORT_ARR;
else if (cls == int[].class)
return BinaryWriteMode.INT_ARR;
else if (cls == long[].class)
return BinaryWriteMode.LONG_ARR;
else if (cls == float[].class)
return BinaryWriteMode.FLOAT_ARR;
else if (cls == double[].class)
return BinaryWriteMode.DOUBLE_ARR;
else if (cls == char[].class)
return BinaryWriteMode.CHAR_ARR;
else if (cls == boolean[].class)
return BinaryWriteMode.BOOLEAN_ARR;
else if (cls == BigDecimal[].class)
return BinaryWriteMode.DECIMAL_ARR;
else if (cls == String[].class)
return BinaryWriteMode.STRING_ARR;
else if (cls == UUID[].class)
return BinaryWriteMode.UUID_ARR;
else if (cls == Date[].class)
return BinaryWriteMode.DATE_ARR;
else if (cls == Timestamp[].class)
return BinaryWriteMode.TIMESTAMP_ARR;
else if (cls == Time[].class)
return BinaryWriteMode.TIME_ARR;
else if (cls.isArray())
return cls.getComponentType().isEnum() ? BinaryWriteMode.ENUM_ARR : BinaryWriteMode.OBJECT_ARR;
else if (cls == BinaryArray.class)
return BinaryWriteMode.OBJECT_ARR;
else if (cls == BinaryEnumArray.class)
return BinaryWriteMode.ENUM_ARR;
else if (cls == BinaryObjectImpl.class)
return BinaryWriteMode.BINARY_OBJ;
else if (Binarylizable.class.isAssignableFrom(cls))
return BinaryWriteMode.BINARY;
else if (isSpecialCollection(cls))
return BinaryWriteMode.COL;
else if (isSpecialMap(cls))
return BinaryWriteMode.MAP;
else if (U.isEnum(cls))
return BinaryWriteMode.ENUM;
else if (cls == BinaryEnumObjectImpl.class)
return BinaryWriteMode.BINARY_ENUM;
else if (cls == Class.class)
return BinaryWriteMode.CLASS;
else if (Proxy.class.isAssignableFrom(cls))
return BinaryWriteMode.PROXY;
else
return BinaryWriteMode.OBJECT;
}