shishkovilja commented on code in PR #12001: URL: https://github.com/apache/ignite/pull/12001#discussion_r2049265756
########## modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java: ########## @@ -93,10 +93,76 @@ public class BinaryUtils { public static final String MAPPING_FILE_EXTENSION = ".classname"; /** */ - public static final Map<Class<?>, Byte> PLAIN_CLASS_TO_FLAG = new HashMap<>(); + public static final Map<Class<?>, Byte> PLAIN_CLASS_TO_FLAG = Map.ofEntries( + Map.entry(Byte.class, GridBinaryMarshaller.BYTE), + Map.entry(Short.class, GridBinaryMarshaller.SHORT), + Map.entry(Integer.class, GridBinaryMarshaller.INT), + Map.entry(Long.class, GridBinaryMarshaller.LONG), + Map.entry(Float.class, GridBinaryMarshaller.FLOAT), + Map.entry(Double.class, GridBinaryMarshaller.DOUBLE), + Map.entry(Character.class, GridBinaryMarshaller.CHAR), + Map.entry(Boolean.class, GridBinaryMarshaller.BOOLEAN), + Map.entry(BigDecimal.class, GridBinaryMarshaller.DECIMAL), + Map.entry(String.class, GridBinaryMarshaller.STRING), + Map.entry(UUID.class, GridBinaryMarshaller.UUID), + Map.entry(Date.class, GridBinaryMarshaller.DATE), + Map.entry(Timestamp.class, GridBinaryMarshaller.TIMESTAMP), + Map.entry(Time.class, GridBinaryMarshaller.TIME), + Map.entry(byte[].class, GridBinaryMarshaller.BYTE_ARR), + Map.entry(short[].class, GridBinaryMarshaller.SHORT_ARR), + Map.entry(int[].class, GridBinaryMarshaller.INT_ARR), + Map.entry(long[].class, GridBinaryMarshaller.LONG_ARR), + Map.entry(float[].class, GridBinaryMarshaller.FLOAT_ARR), + Map.entry(double[].class, GridBinaryMarshaller.DOUBLE_ARR), + Map.entry(char[].class, GridBinaryMarshaller.CHAR_ARR), + Map.entry(boolean[].class, GridBinaryMarshaller.BOOLEAN_ARR), + Map.entry(BigDecimal[].class, GridBinaryMarshaller.DECIMAL_ARR), + Map.entry(String[].class, GridBinaryMarshaller.STRING_ARR), + Map.entry(UUID[].class, GridBinaryMarshaller.UUID_ARR), + Map.entry(Date[].class, GridBinaryMarshaller.DATE_ARR), + Map.entry(Timestamp[].class, GridBinaryMarshaller.TIMESTAMP_ARR), + Map.entry(Time[].class, GridBinaryMarshaller.TIME_ARR), + Map.entry(byte.class, GridBinaryMarshaller.BYTE), + Map.entry(short.class, GridBinaryMarshaller.SHORT), + Map.entry(int.class, GridBinaryMarshaller.INT), + Map.entry(long.class, GridBinaryMarshaller.LONG), + Map.entry(float.class, GridBinaryMarshaller.FLOAT), + Map.entry(double.class, GridBinaryMarshaller.DOUBLE), + Map.entry(char.class, GridBinaryMarshaller.CHAR), + Map.entry(boolean.class, GridBinaryMarshaller.BOOLEAN) + ); /** */ - public static final Map<Byte, Class<?>> FLAG_TO_CLASS = new HashMap<>(); + public static final Map<Byte, Class<?>> FLAG_TO_CLASS = Map.ofEntries( Review Comment: As I see `FLAG_TO_CLASS` and `PLAIN_CLASS_TO_FLAG` maps differ only in that the second one contains primitive classes, so we can generate `FLAG_TO_CLASS` in a such way: ``` public static final Map<Byte, Class<?>> FLAG_TO_CLASS = PLAIN_CLASS_TO_FLAG.entrySet() .stream() .filter(e -> !e.getKey().isPrimitive()) .collect(Collectors.toUnmodifiableMap(Map.Entry::getValue, Map.Entry::getKey)); ``` ########## modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java: ########## @@ -93,10 +93,76 @@ public class BinaryUtils { public static final String MAPPING_FILE_EXTENSION = ".classname"; /** */ - public static final Map<Class<?>, Byte> PLAIN_CLASS_TO_FLAG = new HashMap<>(); + public static final Map<Class<?>, Byte> PLAIN_CLASS_TO_FLAG = Map.ofEntries( + Map.entry(Byte.class, GridBinaryMarshaller.BYTE), Review Comment: Let's do static import of `Map.entry` method in order to avoid unnecessary duplications. ########## modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java: ########## @@ -109,7 +175,12 @@ public class BinaryUtils { private static final boolean[] PLAIN_TYPE_FLAG = new boolean[102]; /** Binary classes. */ - private static final Collection<Class<?>> BINARY_CLS = new HashSet<>(); + private static final Collection<Class<?>> BINARY_CLS = Set.of( Review Comment: Let's insert each element in a separate line. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org