Class UrlBuilder


  • @ParametersAreNonnullByDefault
    public final class UrlBuilder
    extends Object
    A builder which can construct URLs by adding parameters. Not thread-safe.
    Since:
    3.0
    • Constructor Detail

      • UrlBuilder

        public UrlBuilder​(String baseUrl)
        Constructs a UTF-8 URL builder with the given base URL. See UrlBuilder(String, String)
        Parameters:
        baseUrl - The base URL
      • UrlBuilder

        public UrlBuilder​(String baseUrl,
                          String encoding)
        Constructs a builder with the given base URL, which should already be URL-encoded.
        Parameters:
        baseUrl - Base URL to which a query string is appended
        encoding - Encoding to use, e.g. UTF-8
      • UrlBuilder

        public UrlBuilder​(String baseUrl,
                          Charset encoding)
        Constructs a builder with the given base URL, which should already be URL-encoded.
        Parameters:
        baseUrl - Base URL to which a query string is appended
        encoding - Encoding to use, e.g. UTF-8
        Since:
        5.8
    • Method Detail

      • createURL

        public static @NonNull URL createURL​(String urlString)
        Creates a URL from the given string. Convenience wrapper that handles checked exceptions.
        Parameters:
        urlString - the string to be turned into a URL
        Returns:
        the created URL
        Throws:
        IllegalArgumentException - if the given string is malformed
        See Also:
        URL(String)
      • add

        public UrlBuilder add​(String name,
                              String[] values)
        Retrieving parameters from a ServletRequest will provide you with String array values. This method will let you easily add such parameters with each value in the array resulting in another 'name=' entry in the URL.
        Parameters:
        name - the name of the parameter
        values - one or more values for the parameter
        Returns:
        this builder
        Throws:
        IllegalArgumentException - if the name or values are null null
      • addAnchor

        public UrlBuilder addAnchor​(String anchor)
        Sets an anchor for the URL. Any previous anchor will be overwritten.
        Parameters:
        anchor - Anchor name (part after #)
        Returns:
        This object
      • addAll

        public UrlBuilder addAll​(Map<String,​Object> params)
        Add multiple parameters to the URL from a map.
        Parameters:
        params - A map of parameters to add to the URL
        Returns:
        This URL builder instance
      • toUrl

        public String toUrl()
      • toUrl

        public String toUrl​(boolean encodeAnchor)