Sha256: a093e5d934e1bbbe87adbcf446ca12570a3b983d76b9ac1daa74293211016f66

Contents?: true

Size: 1.74 KB

Versions: 11

Compression:

Stored size: 1.74 KB

Contents

package org.embulk.spi;

import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.embulk.spi.type.Type;
import org.embulk.spi.type.TimestampType;

public class ColumnConfig
{
    private final String name;
    private final Type type;
    private final String format;

    @JsonCreator
    public ColumnConfig(
            @JsonProperty("name") String name,
            @JsonProperty("type") Type type,
            @JsonProperty("format") String format)
    {
        this.name = name;
        this.type = type;
        this.format = format;
    }

    @JsonProperty("name")
    public String getName()
    {
        return name;
    }

    @JsonProperty("type")
    public Type getType()
    {
        return type;
    }

    @JsonProperty("format")
    public String getFormat()
    {
        return format;
    }

    public Column toColumn(int index)
    {
        if (type instanceof TimestampType && format != null) {
            return new Column(index, name, ((TimestampType) type).withFormat(format));
        } else {
            return new Column(index, name, type);
        }
    }

    @Override
    public boolean equals(Object obj)
    {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof ColumnConfig)) {
            return false;
        }
        ColumnConfig other = (ColumnConfig) obj;
        return Objects.equals(this.name, other.name) &&
            Objects.equals(type, other.type);
    }

    @Override
    public int hashCode()
    {
        return Objects.hash(name, type);
    }

    @Override
    public String toString()
    {
        return String.format("ColumnConfig[%s, %s]",
                getName(), getType());
    }
}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
embulk-0.6.13 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.12 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.11 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.10 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.9 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.8 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.7 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.6 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.5 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.4 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java
embulk-0.6.3 embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java