package sk.stuba.fiit.perconik.utilities.net; import java.io.File; import java.net.URI; import java.net.URL; import java.nio.file.Path; import javax.annotation.Nullable; // TODO provide checked variants of these methods: url(...) // TODO provide optional but checked variants // TODO provide toString(...) variants public final class Conversions { private Conversions() {} public static URI uriOrNull(@Nullable final File value) { try { return value.toURI(); } catch (Exception e) { return null; } } public static URI uriOrNull(@Nullable final Path value) { try { return value.toUri(); } catch (Exception e) { return null; } } public static URI uriOrNull(@Nullable final String value) { try { return new URI(value); } catch (Exception e) { return null; } } public static URI uriOrNull(@Nullable final URL value) { try { return value.toURI(); } catch (Exception e) { return null; } } public static URL urlOrNull(@Nullable final File value) { try { return value.toURI().toURL(); } catch (Exception e) { return null; } } public static URL urlOrNull(@Nullable final Path value) { try { return value.toUri().toURL(); } catch (Exception e) { return null; } } public static URL urlOrNull(@Nullable final String value) { try { return new URL(value); } catch (Exception e) { return null; } } public static URL urlOrNull(@Nullable final URI value) { try { return value.toURL(); } catch (Exception e) { return null; } } }