Sha256: d4100ff79cf88ad0b4a44ebfecbebd986e1cc54cc2686876c271be89acf2a869

Contents?: true

Size: 1.74 KB

Versions: 72

Compression:

Stored size: 1.74 KB

Contents

package org.embulk.standards;

import java.io.InputStream;
import java.io.IOException;
import org.embulk.config.Task;
import org.embulk.config.TaskSource;
import org.embulk.config.ConfigSource;
import org.embulk.config.ConfigInject;
import org.embulk.spi.DecoderPlugin;
import org.embulk.spi.BufferAllocator;
import org.embulk.spi.FileInput;
import org.embulk.spi.util.FileInputInputStream;
import org.embulk.spi.util.InputStreamFileInput;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;

public class Bzip2FileDecoderPlugin
        implements DecoderPlugin
{
    public interface PluginTask
            extends Task
    {
        @ConfigInject
        BufferAllocator getBufferAllocator();
    }

    @Override
    public void transaction(ConfigSource config, DecoderPlugin.Control control)
    {
        PluginTask task = config.loadConfig(PluginTask.class);
        control.run(task.dump());
    }

    @Override
    public FileInput open(TaskSource taskSource, FileInput fileInput)
    {
        PluginTask task = taskSource.loadTask(PluginTask.class);
        final FileInputInputStream files = new FileInputInputStream(fileInput);
        return new InputStreamFileInput(
                task.getBufferAllocator(),
                new InputStreamFileInput.Provider() {
                    public InputStream openNext() throws IOException
                    {
                        if (!files.nextFile()) {
                            return null;
                        }
                        return new BZip2CompressorInputStream(files, true);
                    }

                    public void close() throws IOException
                    {
                        files.close();
                    }
                });
    }
}

Version data entries

72 entries across 72 versions & 1 rubygems

Version Path
embulk-0.8.39 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.39-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.38 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.38-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.37 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.37-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.36 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.36-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.35 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.35-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.34 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.34-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.33 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.33-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.32 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.32-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.31 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.31-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.30 embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java
embulk-0.8.30-java embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java