in modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java [143:178]
static FieldAccessor createIdentityAccessor(String col, int colIdx, BinaryMode mode) {
switch (mode) {
// Marshaller read/write object contract methods allowed boxed types only.
case P_BOOLEAN:
case P_BYTE:
case P_SHORT:
case P_INT:
case P_LONG:
case P_FLOAT:
case P_DOUBLE:
throw new IllegalArgumentException("Primitive key/value types are not possible by API contract.");
case BYTE:
case SHORT:
case INT:
case LONG:
case FLOAT:
case DOUBLE:
case STRING:
case UUID:
case BYTE_ARR:
case BITSET:
case NUMBER:
case DECIMAL:
case TIME:
case DATE:
case DATETIME:
case TIMESTAMP:
return new IdentityAccessor(colIdx, mode);
default:
assert false : "Invalid mode " + mode;
}
throw new IllegalArgumentException("Failed to create accessor for column [name=" + col + ']');
}