Class Urls

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String buildURL​(HttpScheme scheme, java.lang.String host, int port)
      Build a complete URL.
      static java.lang.String buildURL​(java.lang.String url, java.lang.String query)
      Build a complete URL.
      static java.lang.String buildURL​(java.lang.String url, java.lang.String query, java.lang.String fragment)
      Build a complete URL.
      static java.lang.String capturePath​(@NotNull java.lang.String path, java.lang.String... params)
      Construct a capture path from the static path
      static java.lang.String capturePatternPath​(@NotNull java.lang.String path, java.lang.String... params)
      Construct a capture path from the pattern path.
      static java.lang.String combinePath​(java.lang.String... path)  
      static java.lang.String decode​(java.lang.String encoded)
      Decode encoded text for human readable.
      static java.lang.String encode​(java.lang.String plain)
      Encode plain text in UTF-8 encoding and follow standardization format.
      static java.lang.String normalize​(java.lang.String url)  
      static java.lang.String optimizeURL​(java.lang.String base, java.lang.String path)
      Optimize URL with validation and normalize forward splash (/).
      static java.lang.String toCapture​(java.lang.String param)  
      static java.lang.String toLowercasePath​(@NotNull java.lang.String text)  
      static boolean validateHost​(java.lang.String url)
      Validate URL.
      static boolean validatePath​(java.lang.String path)
      Validate URL Path.
      static boolean validateURL​(java.lang.String url)
      Validate URL.
      • Methods inherited from class java.lang.Object

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

      • URL_PATTERN

        public static final java.lang.String URL_PATTERN
        URL syntax. In this application case, any query or fragment will be not accepted.
        See Also:
        URL syntax, Constant Field Values
      • PATH_SEP_CHAR

        public static final java.lang.String PATH_SEP_CHAR
        URL Path separator character.
        See Also:
        Constant Field Values
      • QUERY_SEP_CHAR

        public static final java.lang.String QUERY_SEP_CHAR
        URL Query separator character.
        See Also:
        Constant Field Values
      • FRAGMENT_SEP_CHAR

        public static final java.lang.String FRAGMENT_SEP_CHAR
        URL Fragment separator character.
        See Also:
        Constant Field Values
      • CAPTURE_PARAM

        public static final java.lang.String CAPTURE_PARAM
        Prefix capture param
        See Also:
        Constant Field Values
    • Method Detail

      • optimizeURL

        public static java.lang.String optimizeURL​(java.lang.String base,
                                                   java.lang.String path)
        Optimize URL with validation and normalize forward splash (/).
        Parameters:
        base - First segment, typically is URL
        path - Second segment, typically is Path
        Returns:
        String combination of base and path that conforms to URL syntax
      • validateHost

        public static boolean validateHost​(java.lang.String url)
        Validate URL.
        Parameters:
        url - String to serialize
        Returns:
        True if given input is valid URL syntax, otherwise False
        See Also:
        URL_PATTERN
      • validateURL

        public static boolean validateURL​(java.lang.String url)
        Validate URL.
        Parameters:
        url - String to serialize
        Returns:
        True if given input is valid URL syntax, otherwise False
        See Also:
        URL_PATTERN
      • validatePath

        public static boolean validatePath​(java.lang.String path)
        Validate URL Path.
        Parameters:
        path - String to serialize
        Returns:
        True if given input is valid URL syntax, otherwise False
        See Also:
        PATH_PATTERN
      • combinePath

        public static java.lang.String combinePath​(java.lang.String... path)
      • normalize

        public static java.lang.String normalize​(java.lang.String url)
      • buildURL

        public static java.lang.String buildURL​(HttpScheme scheme,
                                                java.lang.String host,
                                                int port)
        Build a complete URL.
        Parameters:
        scheme - HTTP Scheme
        host - Host
        port - Port. Port < 1 will be skipped
        Returns:
        URL based on given input. Nullable if given host is blank
      • buildURL

        public static java.lang.String buildURL​(java.lang.String url,
                                                java.lang.String query)
        Build a complete URL.
        Parameters:
        url - Base URL with path
        query - Encode query
        Returns:
        URL based on given input
        Throws:
        java.lang.IllegalArgumentException - if url is null or empty
      • buildURL

        public static java.lang.String buildURL​(java.lang.String url,
                                                java.lang.String query,
                                                java.lang.String fragment)
        Build a complete URL.
        Parameters:
        url - Base URL with path
        query - Encode query
        fragment - Encode fragment
        Returns:
        URL based on given input
        Throws:
        java.lang.IllegalArgumentException - if url is null or empty
      • decode

        public static java.lang.String decode​(java.lang.String encoded)
        Decode encoded text for human readable.
        Parameters:
        encoded - Encoded value to decode
        Returns:
        Plain text
      • capturePath

        public static java.lang.String capturePath​(@NotNull
                                                   @NotNull java.lang.String path,
                                                   java.lang.String... params)
        Construct a capture path from the static path

        For example: /catalogue/products/:product_type/:product_id

        Parameters:
        path - Path
        params - list of param name
        Returns:
        the capture path
        See Also:
        capturePatternPath(String, String...)
      • capturePatternPath

        public static java.lang.String capturePatternPath​(@NotNull
                                                          @NotNull java.lang.String path,
                                                          java.lang.String... params)
        Construct a capture path from the pattern path. For example: /points/{0}/type/{1}
        Parameters:
        path - Pattern path
        params - list of param name
        Returns:
        capture path
      • toLowercasePath

        public static java.lang.String toLowercasePath​(@NotNull
                                                       @NotNull java.lang.String text)
      • toCapture

        public static java.lang.String toCapture​(java.lang.String param)