src/main/java/org/embulk/output/jdbc/setter/ColumnSetter.java in embulk-output-jdbc-0.2.4 vs src/main/java/org/embulk/output/jdbc/setter/ColumnSetter.java in embulk-output-jdbc-0.3.0

- old
+ new

@@ -1,29 +1,26 @@ package org.embulk.output.jdbc.setter; import java.io.IOException; import java.sql.SQLException; import org.embulk.spi.Column; -import org.embulk.spi.ColumnVisitor; -import org.embulk.spi.PageReader; import org.embulk.spi.time.Timestamp; import org.embulk.output.jdbc.JdbcColumn; import org.embulk.output.jdbc.BatchInsert; public abstract class ColumnSetter - implements ColumnVisitor { protected final BatchInsert batch; - protected final PageReader pageReader; protected final JdbcColumn column; + protected final DefaultValueSetter defaultValue; - public ColumnSetter(BatchInsert batch, PageReader pageReader, - JdbcColumn column) + public ColumnSetter(BatchInsert batch, JdbcColumn column, + DefaultValueSetter defaultValue) { this.batch = batch; - this.pageReader = pageReader; this.column = column; + this.defaultValue = defaultValue; } public JdbcColumn getColumn() { return column; @@ -32,95 +29,17 @@ public int getSqlType() { return column.getSqlType(); } - public void booleanColumn(Column column) - { - try { - if (pageReader.isNull(column)) { - nullValue(); - } else { - booleanValue(pageReader.getBoolean(column)); - } - } catch (IOException | SQLException ex) { - // TODO exception class - throw new RuntimeException(ex); - } - } + public abstract void nullValue() throws IOException, SQLException; - public void longColumn(Column column) - { - try { - if (pageReader.isNull(column)) { - nullValue(); - } else { - longValue(pageReader.getLong(column)); - } - } catch (IOException | SQLException ex) { - // TODO exception class - throw new RuntimeException(ex); - } - } + public abstract void booleanValue(boolean v) throws IOException, SQLException; - public void doubleColumn(Column column) - { - try { - if (pageReader.isNull(column)) { - nullValue(); - } else { - doubleValue(pageReader.getDouble(column)); - } - } catch (IOException | SQLException ex) { - // TODO exception class - throw new RuntimeException(ex); - } - } + public abstract void longValue(long v) throws IOException, SQLException; - public void stringColumn(Column column) - { - try { - if (pageReader.isNull(column)) { - nullValue(); - } else { - stringValue(pageReader.getString(column)); - } - } catch (IOException | SQLException ex) { - // TODO exception class - throw new RuntimeException(ex); - } - } + public abstract void doubleValue(double v) throws IOException, SQLException; - public void timestampColumn(Column column) - { - try { - if (pageReader.isNull(column)) { - nullValue(); - } else { - timestampValue(pageReader.getTimestamp(column)); - } - } catch (IOException | SQLException ex) { - // TODO exception class - throw new RuntimeException(ex); - } - } + public abstract void stringValue(String v) throws IOException, SQLException; - protected void nullValue() throws IOException, SQLException - { - try { - batch.setNull(getSqlType()); - } catch (IOException | SQLException ex) { - // TODO exception class - throw new RuntimeException(ex); - } - } - - protected abstract void booleanValue(boolean v) throws IOException, SQLException; - - protected abstract void longValue(long v) throws IOException, SQLException; - - protected abstract void doubleValue(double v) throws IOException, SQLException; - - protected abstract void stringValue(String v) throws IOException, SQLException; - - protected abstract void timestampValue(Timestamp v) throws IOException, SQLException; + public abstract void timestampValue(Timestamp v) throws IOException, SQLException; }