Sha256: c18a8b811cc44cdcf432b52518e4fce6a6c9860c38a837ee1cd9d3a0b4a90272

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

package org.embulk.output.kafka;

import org.embulk.spi.Column;
import org.embulk.spi.ColumnVisitor;
import org.embulk.spi.PageReader;

public abstract class KafkaOutputColumnVisitor implements ColumnVisitor
{
    KafkaOutputPlugin.PluginTask task;
    PageReader pageReader;

    public Object recordKey = null;
    public String topicName = null;

    public KafkaOutputColumnVisitor(KafkaOutputPlugin.PluginTask task, PageReader pageReader)
    {
        this.task = task;
        this.pageReader = pageReader;
    }

    void setRecordKey(Column column, Object value)
    {
        if (task.getKeyColumnName().isPresent() && task.getKeyColumnName().get().equals(column.getName())) {
            recordKey = value;
        }
    }

    void setTopicName(Column column, String value)
    {
        if (task.getTopicColumn().isPresent() && task.getTopicColumn().get().equals(column.getName())) {
            topicName = value;
        }
    }

    @Override
    public void longColumn(Column column)
    {
        setRecordKey(column, pageReader.getLong(column));
    }

    @Override
    public void doubleColumn(Column column)
    {
        setRecordKey(column, pageReader.getDouble(column));
    }

    @Override
    public void stringColumn(Column column)
    {
        setRecordKey(column, pageReader.getString(column));
        setTopicName(column, pageReader.getString(column));
    }
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
embulk-output-kafka-0.1.1 src/main/java/org/embulk/output/kafka/KafkaOutputColumnVisitor.java
embulk-output-kafka-0.1.0 src/main/java/org/embulk/output/kafka/KafkaOutputColumnVisitor.java