Class UrlBuilder


  • public class UrlBuilder
    extends java.lang.Object
    Utility class to build a URL from components. TODO(jlabanca): Add a constructor that parses an existing URL
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int PORT_UNSPECIFIED
      The port to use when no port should be specified.
    • Constructor Summary

      Constructors 
      Constructor Description
      UrlBuilder()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String buildString()
      Build the URL and return it as an encoded string.
      UrlBuilder removeParameter​(java.lang.String name)
      Remove a query parameter from the map.
      UrlBuilder setHash​(java.lang.String hash)
      Set the hash portion of the location (ex.
      UrlBuilder setHost​(java.lang.String host)
      Set the host portion of the location (ex.
      UrlBuilder setParameter​(java.lang.String key, java.lang.String... values)
      Set a query parameter to a list of values.
      UrlBuilder setPath​(java.lang.String path)
      Set the path portion of the location (ex.
      UrlBuilder setPort​(int port)
      Set the port to connect to.
      UrlBuilder setProtocol​(java.lang.String protocol)
      Set the protocol portion of the location (ex.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PORT_UNSPECIFIED

        public static final int PORT_UNSPECIFIED
        The port to use when no port should be specified.
        See Also:
        Constant Field Values
    • Constructor Detail

      • UrlBuilder

        public UrlBuilder()
    • Method Detail

      • buildString

        public java.lang.String buildString()
        Build the URL and return it as an encoded string.
        Returns:
        the encoded URL string
      • removeParameter

        public UrlBuilder removeParameter​(java.lang.String name)
        Remove a query parameter from the map.
        Parameters:
        name - the parameter name
      • setHash

        public UrlBuilder setHash​(java.lang.String hash)
        Set the hash portion of the location (ex. myAnchor or #myAnchor).
        Parameters:
        hash - the hash
      • setHost

        public UrlBuilder setHost​(java.lang.String host)
        Set the host portion of the location (ex. google.com). You can also specify the port in this method (ex. localhost:8888).
        Parameters:
        host - the host
      • setParameter

        public UrlBuilder setParameter​(java.lang.String key,
                                       java.lang.String... values)

        Set a query parameter to a list of values. Each value in the list will be added as its own key/value pair.

        Example Output

        ?mykey=value0&mykey=value1&mykey=value2

        Parameters:
        key - the key
        values - the list of values
      • setPath

        public UrlBuilder setPath​(java.lang.String path)
        Set the path portion of the location (ex. path/to/file.html).
        Parameters:
        path - the path
      • setProtocol

        public UrlBuilder setProtocol​(java.lang.String protocol)
        Set the protocol portion of the location (ex. http).
        Parameters:
        protocol - the protocol