All Downloads are FREE. Search and download functionalities are using the official Maven repository.

se.alipsa.r2jdbc.columns.DoubleColumnBuilder Maven / Gradle / Ivy

package se.alipsa.r2jdbc.columns;


import org.renjin.sexp.AtomicVector;
import org.renjin.sexp.DoubleArrayVector;

import java.sql.ResultSet;
import java.sql.SQLException;

public class DoubleColumnBuilder implements ColumnBuilder {
    
    private DoubleArrayVector.Builder vector = new DoubleArrayVector.Builder();

    public static boolean acceptsType(String columnType) {
      return columnType.equals("decimal") || columnType.equals("real") || columnType.equals("number")
          || columnType.startsWith("numeric") || columnType.startsWith("double") || columnType.startsWith("float");
    }

    @Override
    public void addValue(ResultSet rs, int columnIndex) throws SQLException {
        double value = rs.getDouble(columnIndex);
        if(rs.wasNull()) {
            vector.addNA();
        } else {
            vector.add(value);
        }
    }

    public AtomicVector build() {
        return vector.build();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy