package com.dhemery.network;
import java.net.MalformedURLException;
import java.net.URL;
/**
* A resource factory that supplies {@link URLResource}s.
*/
public class URLResourceFactory implements ResourceFactory {
@Override
public Resource resource(String protocol, String host, int port, String path) {
return new URLResource(url(protocol, host, port, path));
}
private URL url(String protocol, String host, int port, String path) {
try {
return new URL(protocol, host, port, path);
} catch (MalformedURLException cause) {
String format = "Cannot create URL protocol %s host %s port %s path %s";
String explanation = String.format(format, protocol, host, port, path);
throw new NetworkException(explanation, cause);
}
}
}