Sha256: d5686fa470b8ec2ba01f8383062636766827631daaa26e1c3a9431098bd0af70

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

package org.embulk.spi;

import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.io.File;
import java.io.IOException;
import com.google.common.base.Preconditions;

public class TempFileSpace
{
    private final File dir;
    private boolean dirCreated;

    public TempFileSpace(File dir)
    {
        Preconditions.checkArgument(dir != null, "dir is null");
        this.dir = dir;
    }

    public File createTempFile()
    {
        return createTempFile("tmp");
    }

    public File createTempFile(String fileExt)
    {
        return createTempFile(Thread.currentThread().getName()+"_", fileExt);
    }

    public File createTempFile(String prefix, String fileExt)
    {
        try {
            if (!dirCreated) {
                dir.mkdirs();
                dirCreated = true;
            }
            return File.createTempFile(prefix, "."+fileExt, dir);
        } catch (IOException ex) {
            throw new TempFileException(ex);
        }
    }

    public void cleanup()
    {
        File[] files = dir.listFiles();
        if (files != null) {
            for (File e : files) {
                e.delete();
                // TODO delete directory recursively
            }
        }
        dir.delete();
        dirCreated = false;
    }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
embulk-0.6.21 embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java
embulk-0.6.20 embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java
embulk-0.6.19 embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java
embulk-0.6.18 embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java
embulk-0.6.17 embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java
embulk-0.6.16 embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java