Sha256: c7b43ad8055f14afc225df5fb12a3e9f2a6b76fa17aad04aa83a38aab43cd0b5

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

package org.embulk.filter.typecast.cast;

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

public class 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

3 entries across 3 versions & 1 rubygems

Version Path
embulk-filter-typecast-0.1.2 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.1.1 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java
embulk-filter-typecast-0.1.0 src/main/java/org/embulk/filter/typecast/cast/DoubleCast.java