package org.rest.rapa; import java.net.MalformedURLException; import java.net.URL; public class Url { private String baseUrl; private String extension; private boolean appendExtension; public Url(String baseUrl, String extension, boolean appendExtension) { super(); this.appendExtension = appendExtension; this.baseUrl = baseUrl; this.extension = extension; } public String getResourceSpecificURL(int id) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(baseUrl); stringBuilder.append("/"); stringBuilder.append(id); appendExtension(stringBuilder); return stringBuilder.toString(); } public String getURL() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(baseUrl); appendExtension(stringBuilder); return stringBuilder.toString(); } private void appendExtension(StringBuilder stringBuilder) { if (appendExtension) { stringBuilder.append("."); stringBuilder.append(extension); } } public String getHostName() throws MalformedURLException { return new URL(baseUrl).getHost(); } public int getPort() throws MalformedURLException { int port = new URL(baseUrl).getPort(); int defaultPort = 80; if (isPortSpecifiedInUrl(port)) { return defaultPort; } return port; } private boolean isPortSpecifiedInUrl(int port) { return port == -1; } }