package org.embulk.spi.util.dynamic; import org.embulk.spi.PageBuilder; import org.embulk.spi.Column; import org.embulk.spi.time.Timestamp; import org.embulk.spi.time.TimestampFormatter; import org.msgpack.value.Value; public class StringColumnSetter extends AbstractDynamicColumnSetter { private final TimestampFormatter timestampFormatter; public StringColumnSetter(PageBuilder pageBuilder, Column column, DefaultValueSetter defaultValue, TimestampFormatter timestampFormatter) { super(pageBuilder, column, defaultValue); this.timestampFormatter = timestampFormatter; } @Override public void setNull() { pageBuilder.setNull(column); } @Override public void set(boolean v) { pageBuilder.setString(column, Boolean.toString(v)); } @Override public void set(long v) { pageBuilder.setString(column, Long.toString(v)); } @Override public void set(double v) { pageBuilder.setString(column, Double.toString(v)); } @Override public void set(String v) { pageBuilder.setString(column, v); } @Override public void set(Timestamp v) { pageBuilder.setString(column, timestampFormatter.format(v)); } @Override public void set(Value v) { pageBuilder.setString(column, v.toJson()); } }