Class UrlBuilder

java.lang.Object
com.atlassian.confluence.web.UrlBuilder

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

    • 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 Details

    • 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:
    • add

      public UrlBuilder add(String name, String value) throws IllegalArgumentException
      Adds a parameter to the URL.
      Parameters:
      name - the name of the parameter
      value - the value of the parameter
      Returns:
      this object
      Throws:
      IllegalArgumentException - if either the name or value is null
    • 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
    • add

      public UrlBuilder add(String name, long value) throws IllegalArgumentException
      Adds a parameter to the URL.
      Parameters:
      name - Parameter name (part before =)
      value - Parameter value (part after =)
      Returns:
      This object
      Throws:
      IllegalArgumentException - When things are null
      See Also:
    • add

      public UrlBuilder add(String name, int value) throws IllegalArgumentException
      Adds a parameter to the URL.
      Parameters:
      name - Parameter name (part before =)
      value - Parameter value (part after =)
      Returns:
      This object
      Throws:
      IllegalArgumentException - When things are null
      See Also:
    • add

      public UrlBuilder add(String name, boolean value) throws IllegalArgumentException
      Adds a parameter to the URL.
      Parameters:
      name - Parameter name (part before =)
      value - Parameter value (part after =)
      Returns:
      This object
      Throws:
      IllegalArgumentException - When things are null
      See Also:
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toUrl

      public String toUrl()
    • toUrl

      public String toUrl(boolean encodeAnchor)