Class URL_URN

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class URL_URN
    extends URN
    implements java.lang.Cloneable, java.io.Serializable
    URL Uniform Resource Naming (URN) instance class, holding the URL.

    IIZI URL URN's are formatted as:

        urn:iz-url:utf8encodedPath[?+query][#fragment]

    where the url:utf8encodedPath is the file resource path encoded in UTF-8, followed by an optional query and an optional fragment.

    The IIZI URL URN's will then represent the following URL:

        webServerHost[?query][#fragment]

    where webServerHost will be the external web server unsecure protocol http:// or secure https:// followed by the external host name or IP address of the web server. In case of clustering and/or usage of redundant servers, the name may be an alias that will direct the actual HTTP[S] request to the correct party in question.

    Author:
    Christopher Mindus
    See Also:
    Serialized Form
    • Method Detail

      • fromURL

        public static URL_URN fromURL​(java.lang.String url)
                               throws java.net.MalformedURLException,
                                      MalformedURNException
        Creates a URL URN from a string containing an optional '?' query and '#' fragment.
        Parameters:
        url - The URL string.
        Throws:
        java.lang.NullPointerException - If the url is null.
        java.net.MalformedURLException - If the url is malformed.
        MalformedURNException - If the url is malformed for an IIZI URN URL.
      • fromURL

        public static URL_URN fromURL​(java.lang.String url,
                                      java.lang.String query,
                                      java.lang.String fragment)
                               throws java.net.MalformedURLException,
                                      MalformedURNException
        Creates a URL URN from a string and an optional query and fragment.
        Parameters:
        url - The URL base string without query and fragment.
        query - The query string, or null for none. The query, if defined, will be appended to the URL prefixed by '?'. No encoding will be done, so it is important that the query is correctly encoded, e.g. parameters specified as abc=enc(data)&def=enc(data) where "enc(data)" URI-encodes the specific data using UTF-8 character set.
        fragment - The fragment part, null for none. The fragment will not be encoded, but if present, appended to the url with '#' before.
        Throws:
        java.lang.NullPointerException - If the url is null.
        java.net.MalformedURLException - If the url is malformed.
        MalformedURNException - If the url is malformed for an IIZI URN URL.
      • fromURL

        public static URL_URN fromURL​(java.net.URL url)
                               throws MalformedURNException
        Creates a URL URN from a string and an optional query and fragment.
        Parameters:
        url - The URL.
        Throws:
        java.lang.NullPointerException - If the url is null.
        MalformedURNException - If the url is malformed for an IIZI URN URL.
      • getURL

        public java.lang.String getURL()
        Gets the URL of this resource relative the current web server.
        Specified by:
        getURL in class URN
        Returns:
        The full URL to the resource.
      • getParamString

        public java.lang.String getParamString()
        Gets the parameter string for the URN.toString() method.
        Specified by:
        getParamString in class URN
        Returns:
        The parameter string, always non-null.
      • hashCode

        public int hashCode()
        Hash code of this instance.
        Specified by:
        hashCode in class URN
        Returns:
        The hash code.
      • equals

        public boolean equals​(java.lang.Object obj)
        Checks if two instances are equal.
        Specified by:
        equals in class URN
        Parameters:
        obj - The other instance.
        Returns:
        The equals flag.