package co.codewizards.cloudstore.core.oio;
import java.io.IOException;
import java.net.URI;
import java.util.ServiceLoader;
/**
* @author Sebastian Schefczyk
* @author Marco หงุ่ยตระกูล-Schulze - marco at codewizards dot co
*/
public interface FileFactory {
/** Priority of use. Used after getting more than one services fetched by
* {@link ServiceLoader#load}. The one with the highest priority wins. */
int getPriority();
File createFile(final String pathname);
File createFile(final String parent, final String child);
File createFile(final File parent, final String child);
File createFile(final java.io.File file);
File createFile(final URI uri);
File createTempDirectory(String prefix) throws IOException;
File createTempFile(String prefix, String suffix) throws IOException;
File createTempFile(String prefix, String suffix, File parentDir) throws IOException;
File[] listRootFiles();
}