package org.embulk.spi; import java.util.List; import java.util.ArrayList; public class MockFileOutput implements FileOutput { private List<List<Buffer>> files = new ArrayList<List<Buffer>>(); private List<Buffer> lastBuffers = null; private boolean finished = false; private boolean closed = false; public List<List<Buffer>> getFiles() { return files; } public List<Buffer> getLastBuffers() { return lastBuffers; } public void nextFile() { lastBuffers = new ArrayList<Buffer>(); files.add(lastBuffers); } public boolean isFinished() { return finished; } public boolean isClosed() { return closed; } public void add(Buffer buffer) { if (lastBuffers == null) { throw new IllegalStateException("FileOutput.nextFile is not called"); } if (finished) { throw new IllegalStateException("FileOutput is already finished"); } if (closed) { throw new IllegalStateException("FileOutput is already closed"); } lastBuffers.add(buffer); } public void finish() { finished = true; } public void close() { closed = true; } }