001package co.codewizards.cloudstore.core.oio;
002
003import java.io.IOException;
004import java.net.URI;
005
006
007/**
008 * @author Sebastian Schefczyk
009 */
010public class IoFileFactory implements FileFactory {
011
012        /** NEVER USE DIRECTLY!!!
013         * <p/>
014         * Use OioRegistry.getInstance().getFileFactory()
015         * <p/>
016         * Must be visible for the ServiceLoader. */
017        @Deprecated
018        public IoFileFactory() {}
019
020        @Override
021        public int getPriority() {
022                return 0;
023        }
024
025        @Override
026        public File createFile(final String pathname) {
027                return new IoFile(pathname);
028        }
029
030        @Override
031        public File createFile(final String parent, final String child) {
032                return new IoFile(parent, child);
033        }
034
035        @Override
036        public File createFile(final File parent, final String child) {
037                return new IoFile(parent, child);
038        }
039
040        @Override
041        public File createFile(final java.io.File file) {
042                return new IoFile(file);
043        }
044
045        @Override
046        public File createFile(final URI uri) {
047                return new IoFile(uri);
048        }
049
050
051        @Override
052        public File createTempDirectory(final String prefix) throws IOException {
053                return IoFileUtil.createTempDirectory(prefix);
054        }
055
056        @Override
057        public File createTempFile(final String prefix, final String suffix) throws IOException {
058                return IoFileUtil.createTempFile(prefix, suffix);
059        }
060
061        @Override
062        public File createTempFile(final String prefix, final String suffix, final File parentDir) throws IOException {
063                return IoFileUtil.createTempFile(prefix, suffix, parentDir);
064        }
065
066        @Override
067        public File[] listRootFiles() {
068                return IoFileUtil.listRoots();
069        }
070}