in modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/asm/ColumnAccessCodeGenerator.java [42:95]
public static ColumnAccessCodeGenerator createAccessor(BinaryMode mode, String fieldName, int colIdx) {
switch (mode) {
case P_BOOLEAN:
return new ColumnAccessCodeGenerator("booleanValue", "appendBoolean", boolean.class, fieldName, colIdx);
case P_BYTE:
return new ColumnAccessCodeGenerator("byteValue", "appendByte", byte.class, fieldName, colIdx);
case P_SHORT:
return new ColumnAccessCodeGenerator("shortValue", "appendShort", short.class, fieldName, colIdx);
case P_INT:
return new ColumnAccessCodeGenerator("intValue", "appendInt", int.class, fieldName, colIdx);
case P_LONG:
return new ColumnAccessCodeGenerator("longValue", "appendLong", long.class, fieldName, colIdx);
case P_FLOAT:
return new ColumnAccessCodeGenerator("floatValue", "appendFloat", float.class, fieldName, colIdx);
case P_DOUBLE:
return new ColumnAccessCodeGenerator("doubleValue", "appendDouble", double.class, fieldName, colIdx);
case BOOLEAN:
return new ColumnAccessCodeGenerator("booleanValueBoxed", "appendBoolean", Boolean.class, fieldName, colIdx);
case BYTE:
return new ColumnAccessCodeGenerator("byteValueBoxed", "appendByte", Byte.class, fieldName, colIdx);
case SHORT:
return new ColumnAccessCodeGenerator("shortValueBoxed", "appendShort", Short.class, fieldName, colIdx);
case INT:
return new ColumnAccessCodeGenerator("intValueBoxed", "appendInt", Integer.class, fieldName, colIdx);
case LONG:
return new ColumnAccessCodeGenerator("longValueBoxed", "appendLong", Long.class, fieldName, colIdx);
case FLOAT:
return new ColumnAccessCodeGenerator("floatValueBoxed", "appendFloat", Float.class, fieldName, colIdx);
case DOUBLE:
return new ColumnAccessCodeGenerator("doubleValueBoxed", "appendDouble", Double.class, fieldName, colIdx);
case STRING:
return new ColumnAccessCodeGenerator("stringValue", "appendString", String.class, fieldName, colIdx);
case UUID:
return new ColumnAccessCodeGenerator("uuidValue", "appendUuid", UUID.class, fieldName, colIdx);
case BYTE_ARR:
return new ColumnAccessCodeGenerator("bytesValue", "appendBytes", byte[].class, fieldName, colIdx);
case BITSET:
return new ColumnAccessCodeGenerator("bitmaskValue", "appendBitmask", BitSet.class, fieldName, colIdx);
case NUMBER:
return new ColumnAccessCodeGenerator("numberValue", "appendNumber", BigInteger.class, fieldName, colIdx);
case DECIMAL:
return new ColumnAccessCodeGenerator("decimalValue", "appendDecimal", BigDecimal.class, fieldName, colIdx);
case DATE:
return new ColumnAccessCodeGenerator("dateValue", "appendDate", LocalDate.class, fieldName, colIdx);
case TIME:
return new ColumnAccessCodeGenerator("timeValue", "appendTime", LocalTime.class, fieldName, colIdx);
case DATETIME:
return new ColumnAccessCodeGenerator("dateTimeValue", "appendDateTime", LocalDateTime.class, fieldName, colIdx);
case TIMESTAMP:
return new ColumnAccessCodeGenerator("timestampValue", "appendTimestamp", Instant.class, fieldName, colIdx);
default:
throw new IgniteInternalException("Unsupported binary mode: " + mode);
}
}