Sha256: 1864171e34b6e5e389e57bc76756e404480ffea7f2dc0ca83ba9bac3e505796d

Contents?: true

Size: 1.24 KB

Versions: 6

Compression:

Stored size: 1.24 KB

Contents

package org.embulk.filter.typecast.cast;

import org.embulk.spi.DataException;
import org.embulk.spi.time.Timestamp;
import org.msgpack.value.Value;

public class DoubleCast
{
    private DoubleCast() {}

    private static String buildErrorMessage(String as, double value)
    {
        return String.format("cannot cast double to %s: \"%s\"", as, value);
    }

    public static boolean asBoolean(double value) throws DataException
    {
        throw new DataException(buildErrorMessage("boolean", value));
    }

    public static long asLong(double value) throws DataException
    {
        return (long) value;
    }

    public static double asDouble(double value) throws DataException
    {
        return value;
    }

    public static String asString(double value) throws DataException
    {
        return String.valueOf(value);
    }

    public static Value asJson(double value) throws DataException
    {
        throw new DataException(buildErrorMessage("json", value));
    }

    public static Timestamp asTimestamp(double value) throws DataException
    {
        long epochSecond = (long) value;
        long nanoAdjustMent = (long) ((value - epochSecond) * 1000000000);
        return Timestamp.ofEpochSecond(epochSecond, nanoAdjustMent);
    }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
embulk-filter-typecast-0.2.2 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.2.1 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.2.0 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.1.5 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.1.4 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.1.3 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java