@Override public UriBuilder clone() { return new UriBuilderImpl(this); }
@Override public URI buildFromEncoded(Object... values) { return _build(false, values); }
@Override public URI buildFromMap(Map<String, ? extends Object> values) { return _buildFromMap(true, values); }
@Override public UriBuilder path(String path) { checkSsp(); appendPath(path); return this; }
@Override public UriBuilder path(Method method) { checkSsp(); if (method == null) { throw new IllegalArgumentException("Method is null"); } appendPath(getPath(method)); return this; }
private URI _build(boolean encode, Object... values) { if (values == null || values.length == 0) { return createURI(create()); } if (ssp != null) { throw new IllegalArgumentException("Schema specific part is opaque"); } encodeMatrix(); encodeQuery(); String uri = UriTemplate.createURI( scheme, authority, userInfo, host, (port != -1) ? String.valueOf(port) : null, path.toString(), query.toString(), fragment, values, encode); return createURI(uri); }
private URI _buildFromMap(boolean encode, Map<String, ? extends Object> values) { if (ssp != null) { throw new IllegalArgumentException("Schema specific part is opaque"); } encodeMatrix(); encodeQuery(); String uri = UriTemplate.createURI( scheme, authority, userInfo, host, (port != -1) ? String.valueOf(port) : null, path.toString(), query.toString(), fragment, values, encode); return createURI(uri); }
protected UriBuilder newApplicationBaseUriBuilder() { URI base = URI.create(applicationProperties.getBaseUrl()).normalize(); return new UriBuilderImpl().path(base.getPath()); }
/** * Build the redirect URI * * @return the {@link javax.ws.rs.core.UriBuilder} */ private UriBuilder buildRedirectUrl() { // Using UriBuilder.fromUri() has issues on Glassfish! UriBuilder builder = new UriBuilderImpl().uri(URI.create(applinkStartingUrl)).path("/plugins/servlet/applinks/").path(URL_NAME); builder.queryParam(SHARED_USERBASE, gson.toJson(sharedUserbase)).queryParam(APPLINK_ORIGINAL_CREATED_ID, gson.toJson(applinkOriginalCreatedId)); builder.queryParam(APPLINK_CREATION_STATUS_LOG, gson.toJson(applinkCreationStatusLog.toString())); return builder; }
private void appendPath(String segments, boolean isSegment) { if (segments == null) { throw new IllegalArgumentException("Path segment is null"); } if (segments.length() == 0) { return; } // Encode matrix parameters on current path segment encodeMatrix(); segments = encode(segments, (isSegment) ? UriComponent.Type.PATH_SEGMENT : UriComponent.Type.PATH); final boolean pathEndsInSlash = path.length() > 0 && path.charAt(path.length() - 1) == '/'; final boolean segmentStartsWithSlash = segments.charAt(0) == '/'; if (path.length() > 0 && !pathEndsInSlash && !segmentStartsWithSlash) { path.append('/'); } else if (pathEndsInSlash && segmentStartsWithSlash) { segments = segments.substring(1); if (segments.length() == 0) { return; } } path.append(segments); }
private String create() { encodeMatrix(); encodeQuery();
sb.append('#').append(fragment); URI uri = createURI(sb.toString()); path.append(replaceNull(uri.getRawPath())); query.append(replaceNull(uri.getRawQuery()));
private void appendPath(String path) { appendPath(path, false); }
@Override public UriBuilder fragment(String fragment) { this.fragment = (fragment != null) ? encode(fragment, UriComponent.Type.FRAGMENT) : null; return this; }
@Override public UriBuilder port(int port) { checkSsp(); if (port < -1) // -1 is used to reset port setting and since URI allows // as port any positive integer, so do we. { throw new IllegalArgumentException("Invalid port value"); } this.port = port; return this; }
@Override public UriBuilder path(Method method) { checkSsp(); if (method == null) { throw new IllegalArgumentException("Method is null"); } appendPath(getPath(method)); return this; }
@Override public UriBuilder path(String path) { checkSsp(); appendPath(path); return this; }
private URI _build(boolean encode, Object... values) { if (values == null || values.length == 0) { return createURI(create()); } if (ssp != null) { throw new IllegalArgumentException("Schema specific part is opaque"); } encodeMatrix(); encodeQuery(); String uri = UriTemplate.createURI( scheme, authority, userInfo, host, (port != -1) ? String.valueOf(port) : null, path.toString(), query.toString(), fragment, values, encode); return createURI(uri); }