001package co.codewizards.cloudstore.core.oio; 002 003import java.io.IOException; 004import java.net.URI; 005import java.util.ServiceLoader; 006 007/** 008 * @author Sebastian Schefczyk 009 * @author Marco หงุ่ยตระกูล-Schulze - marco at codewizards dot co 010 */ 011public interface FileFactory { 012 013 /** Priority of use. Used after getting more than one services fetched by 014 * {@link ServiceLoader#load}. The one with the highest priority wins. */ 015 int getPriority(); 016 017 File createFile(final String pathname); 018 019 File createFile(final String parent, final String child); 020 021 File createFile(final File parent, final String child); 022 023 File createFile(final java.io.File file); 024 025 File createFile(final URI uri); 026 027 028 File createTempDirectory(String prefix) throws IOException; 029 030 File createTempFile(String prefix, String suffix) throws IOException; 031 032 File createTempFile(String prefix, String suffix, File parentDir) throws IOException; 033 034 File[] listRootFiles(); 035}