// Path: src/java/shadow/pgsql/ColumnInfo.java
// public class ColumnInfo {
//     public final String name;
//     public final int tableOid;
//     public final int positionInTable;
//     public final int typeOid;
//     public final int typeSize;
//     public final int typeMod;
// 
//     public ColumnInfo(String name, int tableOid, int positionInTable, int typeOid, int typeSize, int typeMod) {
//         this.name = name;
//         this.tableOid = tableOid;
//         this.positionInTable = positionInTable;
//         this.typeOid = typeOid;
//         this.typeSize = typeSize;
//         this.typeMod = typeMod;
//     }
// }
// 
// Path: src/java/shadow/pgsql/RowBuilder.java
// public interface RowBuilder<ACC, ROW> {
//     ACC init();
// 
//     ACC add(ACC state, ColumnInfo columnInfo, int fieldIndex, Object value);
// 
//     ROW complete(ACC state);
// 
//     @FunctionalInterface
//     interface Factory {
//         RowBuilder create(ColumnInfo[] columns);
//     }
// }


import shadow.pgsql.ColumnInfo;
import shadow.pgsql.RowBuilder;
import java.math.BigDecimal;
package shadow.pgsql.benchmark;



/**
 * Created by zilence on 20.09.15.
 */
class DatPojoBuilder implements RowBuilder<DatPojo, DatPojo> {
    @Override
    public DatPojo init() {
        return new DatPojo();
    }

    @Override
    public DatPojo add(DatPojo state, ColumnInfo columnInfo, int fieldIndex, Object value) {
        switch (columnInfo.name) {
            case "test_string":
// Path: src/java/shadow/pgsql/ColumnInfo.java
// public class ColumnInfo {
//     public final String name;
//     public final int tableOid;
//     public final int positionInTable;
//     public final int typeOid;
//     public final int typeSize;
//     public final int typeMod;
// 
//     public ColumnInfo(String name, int tableOid, int positionInTable, int typeOid, int typeSize, int typeMod) {
//         this.name = name;
//         this.tableOid = tableOid;
//         this.positionInTable = positionInTable;
//         this.typeOid = typeOid;
//         this.typeSize = typeSize;
//         this.typeMod = typeMod;
//     }
// }
// 
// Path: src/java/shadow/pgsql/RowBuilder.java
// public interface RowBuilder<ACC, ROW> {
//     ACC init();
// 
//     ACC add(ACC state, ColumnInfo columnInfo, int fieldIndex, Object value);
// 
//     ROW complete(ACC state);
// 
//     @FunctionalInterface
//     interface Factory {
//         RowBuilder create(ColumnInfo[] columns);
//     }
// }


// Path: jmh/src/main/java/shadow/pgsql/benchmark/DatPojoBuilder.java
import shadow.pgsql.ColumnInfo;
import shadow.pgsql.RowBuilder;
import java.math.BigDecimal;

package shadow.pgsql.benchmark;



/**
 * Created by zilence on 20.09.15.
 */
class DatPojoBuilder implements RowBuilder<DatPojo, DatPojo> {
    @Override
    public DatPojo init() {
        return new DatPojo();
    }

    @Override
    public DatPojo add(DatPojo state, ColumnInfo columnInfo, int fieldIndex, Object value) {
        switch (columnInfo.name) {
            case "test_string":
                state.setTestString((String) value);