001package co.codewizards.cloudstore.core.oio.nio; 002 003import java.io.IOException; 004import java.net.URI; 005 006import co.codewizards.cloudstore.core.oio.File; 007import co.codewizards.cloudstore.core.oio.FileFactory; 008import co.codewizards.cloudstore.core.oio.IoFileUtil; 009 010/** 011 * @author Sebastian Schefczyk 012 * 013 */ 014public class NioFileFactory implements FileFactory { 015 016 @Override 017 public int getPriority() { 018 return 10; 019 } 020 021 @Override 022 public File createFile(final String pathname) { 023 return new NioFile(pathname); 024 } 025 026 @Override 027 public File createFile(final String parent, final String child) { 028 return new NioFile(parent, child); 029 } 030 031 @Override 032 public File createFile(final File parent, final String child) { 033 return new NioFile(parent, child); 034 } 035 036 @Override 037 public File createFile(final java.io.File file) { 038 return new NioFile(file); 039 } 040 041 @Override 042 public File createFile(final URI uri) { 043 return new NioFile(uri); 044 } 045 046 047 @Override 048 public File createTempDirectory(final String prefix) throws IOException { 049 return NioFileUtil.createTempDirectory(prefix); 050 } 051 052 @Override 053 public File createTempFile(final String prefix, final String suffix) throws IOException { 054 return NioFileUtil.createTempFile(prefix, suffix); 055 } 056 057 @Override 058 public File createTempFile(final String prefix, final String suffix, final File parentDir) throws IOException { 059 return NioFileUtil.createTempFile(prefix, suffix, parentDir); 060 } 061 062 @Override 063 public File[] listRootFiles() { 064 return IoFileUtil.listRoots(); // IoFileUtil delegates to the OioFileFactory and thus creates NioFile objects, too, in this case ;-) 065 } 066}