Added getters to URIBuilder
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1334634 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6920b38823
commit
bfe3b7201f
|
@ -38,6 +38,8 @@ import org.apache.http.NameValuePair;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* {@link URI} builder for HTTP requests.
|
||||||
|
*
|
||||||
* @since 4.2
|
* @since 4.2
|
||||||
*/
|
*/
|
||||||
public class URIBuilder {
|
public class URIBuilder {
|
||||||
|
@ -82,7 +84,7 @@ public class URIBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds a URI instance.
|
* Builds a {@link URI} instance.
|
||||||
*/
|
*/
|
||||||
public URI build() throws URISyntaxException {
|
public URI build() throws URISyntaxException {
|
||||||
if (this.schemeSpecificPart != null) {
|
if (this.schemeSpecificPart != null) {
|
||||||
|
@ -109,17 +111,11 @@ public class URIBuilder {
|
||||||
this.fragment = uri.getFragment();
|
this.fragment = uri.getFragment();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI scheme.
|
|
||||||
*/
|
|
||||||
public URIBuilder setScheme(final String scheme) {
|
public URIBuilder setScheme(final String scheme) {
|
||||||
this.scheme = scheme;
|
this.scheme = scheme;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI user-info.
|
|
||||||
*/
|
|
||||||
public URIBuilder setUserInfo(final String userInfo) {
|
public URIBuilder setUserInfo(final String userInfo) {
|
||||||
this.userInfo = userInfo;
|
this.userInfo = userInfo;
|
||||||
this.schemeSpecificPart = null;
|
this.schemeSpecificPart = null;
|
||||||
|
@ -127,16 +123,10 @@ public class URIBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI user-info in a form of 'username:password'.
|
|
||||||
*/
|
|
||||||
public URIBuilder setUserInfo(final String username, final String password) {
|
public URIBuilder setUserInfo(final String username, final String password) {
|
||||||
return setUserInfo(username + ':' + password);
|
return setUserInfo(username + ':' + password);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI host.
|
|
||||||
*/
|
|
||||||
public URIBuilder setHost(final String host) {
|
public URIBuilder setHost(final String host) {
|
||||||
this.host = host;
|
this.host = host;
|
||||||
this.schemeSpecificPart = null;
|
this.schemeSpecificPart = null;
|
||||||
|
@ -144,9 +134,6 @@ public class URIBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI port.
|
|
||||||
*/
|
|
||||||
public URIBuilder setPort(final int port) {
|
public URIBuilder setPort(final int port) {
|
||||||
this.port = port < 0 ? -1 : port;
|
this.port = port < 0 ? -1 : port;
|
||||||
this.schemeSpecificPart = null;
|
this.schemeSpecificPart = null;
|
||||||
|
@ -154,36 +141,24 @@ public class URIBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI path.
|
|
||||||
*/
|
|
||||||
public URIBuilder setPath(final String path) {
|
public URIBuilder setPath(final String path) {
|
||||||
this.path = path;
|
this.path = path;
|
||||||
this.schemeSpecificPart = null;
|
this.schemeSpecificPart = null;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes all query parameters.
|
|
||||||
*/
|
|
||||||
public URIBuilder removeQuery() {
|
public URIBuilder removeQuery() {
|
||||||
this.queryParams = null;
|
this.queryParams = null;
|
||||||
this.schemeSpecificPart = null;
|
this.schemeSpecificPart = null;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set URI query.
|
|
||||||
*/
|
|
||||||
public URIBuilder setQuery(final String query) {
|
public URIBuilder setQuery(final String query) {
|
||||||
this.queryParams = parseQuery(query, Consts.UTF_8);
|
this.queryParams = parseQuery(query, Consts.UTF_8);
|
||||||
this.schemeSpecificPart = null;
|
this.schemeSpecificPart = null;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a parameter-value pair to URI query.
|
|
||||||
*/
|
|
||||||
public URIBuilder addParameter(final String param, final String value) {
|
public URIBuilder addParameter(final String param, final String value) {
|
||||||
if (this.queryParams == null) {
|
if (this.queryParams == null) {
|
||||||
this.queryParams = new ArrayList<NameValuePair>();
|
this.queryParams = new ArrayList<NameValuePair>();
|
||||||
|
@ -193,9 +168,6 @@ public class URIBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets parameter-value pair to URI query removing existing parameters with the same name.
|
|
||||||
*/
|
|
||||||
public URIBuilder setParameter(final String param, final String value) {
|
public URIBuilder setParameter(final String param, final String value) {
|
||||||
if (this.queryParams == null) {
|
if (this.queryParams == null) {
|
||||||
this.queryParams = new ArrayList<NameValuePair>();
|
this.queryParams = new ArrayList<NameValuePair>();
|
||||||
|
@ -213,12 +185,52 @@ public class URIBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets URI fragment.
|
|
||||||
*/
|
|
||||||
public URIBuilder setFragment(final String fragment) {
|
public URIBuilder setFragment(final String fragment) {
|
||||||
this.fragment = fragment;
|
this.fragment = fragment;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getScheme() {
|
||||||
|
return this.scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserInfo() {
|
||||||
|
return this.userInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHost() {
|
||||||
|
return this.host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPort() {
|
||||||
|
return this.port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPath() {
|
||||||
|
return this.path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<NameValuePair> getQueryParams() {
|
||||||
|
if (this.queryParams != null) {
|
||||||
|
return new ArrayList<NameValuePair>(this.queryParams);
|
||||||
|
} else {
|
||||||
|
return new ArrayList<NameValuePair>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFragment() {
|
||||||
|
return this.fragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("URI [scheme=").append(this.scheme)
|
||||||
|
.append(", userInfo=").append(this.userInfo).append(", host=").append(this.host)
|
||||||
|
.append(", port=").append(this.port).append(", path=").append(this.path)
|
||||||
|
.append(", queryParams=").append(this.queryParams).append(", fragment=")
|
||||||
|
.append(this.fragment).append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue