Sha256: d8de18823b4b0dda21cd3556dbb78af6ef60d717b0ea5fa6832396513cd88c96

Contents?: true

Size: 1.32 KB

Versions: 39

Compression:

Stored size: 1.32 KB

Contents

package org.embulk.spi.util.dynamic;

import java.math.RoundingMode;
import org.embulk.spi.Column;
import org.embulk.spi.PageBuilder;
import org.embulk.spi.time.Timestamp;

public class DoubleColumnSetter
        extends AbstractDynamicColumnSetter
{
    public DoubleColumnSetter(PageBuilder pageBuilder, Column column,
            DefaultValueSetter defaultValue)
    {
        super(pageBuilder, column, defaultValue);
    }

    @Override
    public void setNull()
    {
        pageBuilder.setNull(column);
    }

    @Override
    public void set(boolean v)
    {
        pageBuilder.setDouble(column, v ? 1.0 : 0.0);
    }

    @Override
    public void set(long v)
    {
        pageBuilder.setDouble(column, (double) v);
    }

    @Override
    public void set(double v)
    {
        pageBuilder.setDouble(column, v);
    }

    @Override
    public void set(String v)
    {
        double dv;
        try {
            dv = Double.parseDouble(v);
        } catch (NumberFormatException e) {
            defaultValue.setDouble(pageBuilder, column);
            return;
        }
        pageBuilder.setDouble(column, dv);
    }

    @Override
    public void set(Timestamp v)
    {
        double sec = (double) v.getEpochSecond();
        double frac = v.getNano() / 1000000000.0;
        pageBuilder.setDouble(column, sec + frac);
    }
}

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/DoubleColumnSetter.java
embulk-0.7.11-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.10 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.10-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.9 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.9-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.8 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.8-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.7 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.7-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.6 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.6-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.5 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.5-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.6.27 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.4 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.4-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.3 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.3-java embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java
embulk-0.7.2 embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java