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

Version Path
embulk-0.7.11 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.11-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.10 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.10-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.9 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.9-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.8 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.8-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.7 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.7-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.6 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.6-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.5 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.5-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.6.27 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.4 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.4-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.3 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.3-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java
embulk-0.7.2 embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java