protected Object buildObject()

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;
    }