package co.codewizards.cloudstore.core.oio.nio; import java.io.IOException; import java.net.URI; import co.codewizards.cloudstore.core.oio.File; import co.codewizards.cloudstore.core.oio.FileFactory; import co.codewizards.cloudstore.core.oio.IoFileUtil; /** * @author Sebastian Schefczyk * */ public class NioFileFactory implements FileFactory { @Override public int getPriority() { return 10; } @Override public File createFile(final String pathname) { return new NioFile(pathname); } @Override public File createFile(final String parent, final String child) { return new NioFile(parent, child); } @Override public File createFile(final File parent, final String child) { return new NioFile(parent, child); } @Override public File createFile(final java.io.File file) { return new NioFile(file); } @Override public File createFile(final URI uri) { return new NioFile(uri); } @Override public File createTempDirectory(final String prefix) throws IOException { return NioFileUtil.createTempDirectory(prefix); } @Override public File createTempFile(final String prefix, final String suffix) throws IOException { return NioFileUtil.createTempFile(prefix, suffix); } @Override public File createTempFile(final String prefix, final String suffix, final File parentDir) throws IOException { return NioFileUtil.createTempFile(prefix, suffix, parentDir); } @Override public File[] listRootFiles() { return IoFileUtil.listRoots(); // IoFileUtil delegates to the OioFileFactory and thus creates NioFile objects, too, in this case ;-) } }