package org.embulk.output.oracle; import java.io.File; import java.io.IOException; import java.net.URI; import java.nio.file.FileSystem; import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.WatchEvent.Kind; import java.nio.file.WatchEvent.Modifier; import java.nio.file.WatchKey; import java.nio.file.WatchService; import java.util.Iterator; public class DummyPath implements Path { private final Path original; private final String fileContents; public DummyPath(Path original, String fileContents) { this.original = original; this.fileContents = fileContents; } @Override public int compareTo(Path other) { return original.compareTo(other); } @Override public boolean endsWith(Path other) { return original.endsWith(other); } @Override public boolean endsWith(String other) { return original.endsWith(other); } @Override public Path getFileName() { return original.getFileName(); } @Override public FileSystem getFileSystem() { return new DummyFileSystem(original.getFileSystem(), fileContents); } @Override public Path getName(int index) { return original.getName(index); } @Override public int getNameCount() { return original.getNameCount(); } @Override public Path getParent() { return original.getParent(); } @Override public Path getRoot() { return original.getRoot(); } @Override public boolean isAbsolute() { return original.isAbsolute(); } @Override public Iterator iterator() { return original.iterator(); } @Override public Path normalize() { return original.normalize(); } @Override public WatchKey register(WatchService watcher, Kind... events) throws IOException { return original.register(watcher, events); } @Override public WatchKey register(WatchService watcher, Kind[] events, Modifier... modifiers) throws IOException { return original.register(watcher, events, modifiers); } @Override public Path relativize(Path other) { return original.relativize(other); } @Override public Path resolve(Path other) { return original.resolve(other); } @Override public Path resolve(String other) { return original.resolve(other); } @Override public Path resolveSibling(Path other) { return original.resolveSibling(other); } @Override public Path resolveSibling(String other) { return original.resolveSibling(other); } @Override public boolean startsWith(Path other) { return original.startsWith(other); } @Override public boolean startsWith(String other) { return original.startsWith(other); } @Override public Path subpath(int beginIndex, int endIndex) { return original.subpath(beginIndex, endIndex); } @Override public Path toAbsolutePath() { return original.toAbsolutePath(); } @Override public File toFile() { return original.toFile(); } @Override public Path toRealPath(LinkOption... options) throws IOException { return original.toRealPath(options); } @Override public URI toUri() { return original.toUri(); } @Override public String toString() { return original.toString(); } }