package bvira.framework;
public class RequestUri implements Navigable {
private String path;
private final String query;
public RequestUri() {
this.path = "";
this.query = "";
}
public RequestUri(String path, String query) {
this.path = path;
this.query = query;
}
public final RequestUri without(String context) {
int beginIndex = context.length();
return new RequestUri(path.substring(beginIndex), query);
}
public String getExtension() {
int extensionPos = path.lastIndexOf('.');
return (extensionPos < 0) ? "" : path.substring(extensionPos + 1);
}
public final String getPath() {
return path;
}
public final String getQuery() {
return query;
}
public final String toString() {
if (query != null) {
return path + "?" + query;
}
return path;
}
public final void setPath(String path) {
this.path = path;
}
}