src/main/java/de/qaware/xff/util/uri/UriComponentsBuilder.java
/**
     * Append the given query to the existing query of this builder.
     * The given query may contain URI template variables.
     * <p><strong>Note:</strong> The presence of reserved characters can prevent
     * correct parsing of the URI string. For example if a query parameter
     * contains {@code '='} or {@code '&'} characters, the query string cannot
     * be parsed unambiguously. Such values should be substituted for URI
     * variables to enable correct parsing:
     * <pre class="code">
     * UriComponentsBuilder.fromUriString(&quot;/hotels/42&quot;)
     * .query(&quot;filter={value}&quot;)
     * .buildAndExpand(&quot;hot&amp;cold&quot;);
     * </pre>
     *
     * @param query the query string
     * @return this UriComponentsBuilder
     */
Append the given query to the existing query of this builder.
The given query may contain URI template variables.
Note: The presence of reserved characters can prevent
correct parsing of the URI string. For example if a query parameter
contains  '=' or  '&' characters, the query string cannot
be parsed unambiguously.

@param query the query string
@return this UriComponentsBuilder
Append the given query to the existing query of this builder . The given query may contain URI template variables . Note : The presence of reserved characters can prevent correct parsing of the URI string . For example if a query parameter contains ' = ' or ' & ' characters the query string cannot be parsed unambiguously . @param query the query string @return this UriComponentsBuilder
public UriComponentsBuilder query(/*@Nullable*/ String query) {
        if (query != null) {
            Matcher matcher = QUERY_PARAM_PATTERN.matcher(query);
            while (matcher.find()) {
                String name = matcher.group(QUERY_PARAM_PATTERN_NAME_INDEX);
                String eq = matcher.group(QUERY_PARAM_PATTERN_EQ_INDEX);
                String value = matcher.group(QUERY_PARAM_PATTERN_VALUE_INDEX);
                if (value == null) {
                    value = isNotBlank(eq) ? "" : null;
                }
                queryParam(name, value);
            }
        } else {
            this.queryParams.clear();
        }
        resetSchemeSpecificPart();
        return this;
    }
public UriComponentsBuilder query ( /*@Nullable*/ String query ) { if ( query != null ) { Matcher matcher = QUERY_PARAM_PATTERN . matcher ( query ) ; while ( matcher . find ( ) ) { String name = matcher . group ( QUERY_PARAM_PATTERN_NAME_INDEX ) ; String eq = matcher . group ( QUERY_PARAM_PATTERN_EQ_INDEX ) ; String value = matcher . group ( QUERY_PARAM_PATTERN_VALUE_INDEX ) ; if ( value == null ) { value = isNotBlank ( eq ) ? "" : null ; } queryParam ( name , value ) ; } } else { this . queryParams . clear ( ) ; } resetSchemeSpecificPart ( ) ; return this ; }
Append the given query to the existing query of this builder.
Append the given query to the existing query of this builder .