Sha256: 543ba5975b725bcc9ef0e781369a807cc7a136785b113c5df286e07c06c83a50
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
package org.embulk.input.jdbc.getter; import java.sql.ResultSet; import java.sql.SQLException; import org.embulk.spi.Column; import org.embulk.spi.ColumnVisitor; import org.embulk.spi.PageBuilder; import org.embulk.spi.type.Type; public abstract class AbstractColumnGetter implements ColumnGetter, ColumnVisitor { protected final PageBuilder to; private final Type toType; public AbstractColumnGetter(PageBuilder to, Type toType) { this.to = to; this.toType = toType; } @Override public void getAndSet(ResultSet from, int fromIndex, Column toColumn) throws SQLException { fetch(from, fromIndex); if (from.wasNull()) { to.setNull(toColumn); } else { toColumn.visit(this); } } protected abstract void fetch(ResultSet from, int fromIndex) throws SQLException; @Override public void booleanColumn(Column column) { to.setNull(column); } @Override public void longColumn(Column column) { to.setNull(column); } @Override public void doubleColumn(Column column) { to.setNull(column); } @Override public void stringColumn(Column column) { to.setNull(column); } @Override public void jsonColumn(Column column) { to.setNull(column); } @Override public void timestampColumn(Column column) { to.setNull(column); } @Override public Type getToType() { if (toType == null) { return getDefaultToType(); } return toType; } protected abstract Type getDefaultToType(); }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
embulk-input-jdbc-0.7.0 | src/main/java/org/embulk/input/jdbc/getter/AbstractColumnGetter.java |