package sk.stuba.fiit.perconik.utilities.io;
import java.io.File;
import java.net.URI;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.annotation.Nullable;
// TODO provide toString(...) variants
public final class Conversions {
private Conversions() {}
public static File fileOrNull(@Nullable final Path value) {
try {
return value.toFile();
} catch (Exception e) {
return null;
}
}
public static File fileOrNull(@Nullable final String value) {
try {
return new File(value);
} catch (Exception e) {
return null;
}
}
public static File fileOrNull(@Nullable final URI value) {
try {
return new File(value);
} catch (Exception e) {
return null;
}
}
public static File fileOrNull(@Nullable final URL value) {
try {
return new File(value.toURI());
} catch (Exception e) {
return null;
}
}
public static Path pathOrNull(@Nullable final File value) {
try {
return value.toPath();
} catch (Exception e) {
return null;
}
}
public static Path pathOrNull(@Nullable final String value) {
try {
return Paths.get(value);
} catch (Exception e) {
return null;
}
}
public static Path pathOrNull(@Nullable final URI value) {
try {
return Paths.get(value);
} catch (Exception e) {
return null;
}
}
public static Path pathOrNull(@Nullable final URL value) {
try {
return Paths.get(value.toURI());
} catch (Exception e) {
return null;
}
}
}