in cassandra/src/main/java/org/apache/ignite/activestore/impl/cassandra/persistence/PersistenceController.java [313:338]
protected Object buildObject(Row row, PersistenceSettings settings) {
if (row == null) {
return null;
}
PersistenceStrategy stgy = settings.getStrategy();
Class clazz = settings.getJavaClass();
String col = settings.getColumn();
List<PojoField> fields = settings.getFields();
if (PersistenceStrategy.PRIMITIVE.equals(stgy)) {
return PropertyMappingHelper.getCassandraColumnValue(row, col, clazz, null);
}
if (PersistenceStrategy.BLOB.equals(stgy)) {
return settings.getSerializer().deserialize(row.getBytes(col));
}
Object obj;
try {
obj = clazz.newInstance();
}
catch (Throwable e) {
throw new IgniteException("Failed to instantiate object of type '" + clazz.getName() + "' using reflection", e);
}
for (PojoField field : fields) {
field.setValueFromRow(row, obj, settings.getSerializer());
}
return obj;
}