Sha256: 31b7be2b2151dcf7f1ff5ab30842d675713d8875a8fc8ec9f6933d62d987c830
Contents?: true
Size: 1.58 KB
Versions: 39
Compression:
Stored size: 1.58 KB
Contents
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.TimestampParser; import org.embulk.spi.time.TimestampParseException; public class TimestampColumnSetter extends AbstractDynamicColumnSetter { private final TimestampParser timestampParser; public TimestampColumnSetter(PageBuilder pageBuilder, Column column, DefaultValueSetter defaultValue, TimestampParser timestampParser) { super(pageBuilder, column, defaultValue); this.timestampParser = timestampParser; } @Override public void setNull() { pageBuilder.setNull(column); } @Override public void set(boolean v) { defaultValue.setTimestamp(pageBuilder, column); } @Override public void set(long v) { pageBuilder.setTimestamp(column, Timestamp.ofEpochSecond(v)); } @Override public void set(double v) { long sec = (long) v; int nsec = (int) ((v - (double) sec) * 1000000000); pageBuilder.setTimestamp(column, Timestamp.ofEpochSecond(sec, nsec)); defaultValue.setTimestamp(pageBuilder, column); } @Override public void set(String v) { try { pageBuilder.setTimestamp(column, timestampParser.parse(v)); } catch (TimestampParseException e) { defaultValue.setTimestamp(pageBuilder, column); } } @Override public void set(Timestamp v) { pageBuilder.setTimestamp(column, v); } }
Version data entries
39 entries across 39 versions & 1 rubygems