Class WebURL


  • public class WebURL
    extends java.lang.Object
    A class to represent a URL for a WebSite and WebFile (it can be both for nested sources). Has the form: [Scheme:][//Authority][/Path[!/Path]][?Query][#HashTag]. Authority has the form: [UserInfo@]Host[:Port].

    WebURL is a thin wrapper around standard URL, but provides easy access to the WebSite and WebFile.

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected WebURL​(java.lang.String aSpec)
      Creates a new WebURL for given URL string.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      WebFile createFile​(boolean isDir)
      Creates a file for the URL.
      boolean equals​(java.lang.Object anObj)
      Standard equals implementation.
      WebSite getAsSite()  
      WebFile getFile()
      Returns the file for the URL, may be null.
      protected WebFile getFileImpl()  
      WebURL getFileURL()
      Returns the URL for the file (no hashtags).
      java.lang.String getHost()
      Returns the Host part of the URL (the Authority minus the optional UserInfo and Port).
      java.lang.String getPath()
      Returns the part of the URL string that describes the file path.
      java.lang.String getPathName()
      Returns the last component of the file path.
      java.lang.String getPathNameSimple()  
      int getPort()
      Returns the port of the URL.
      java.lang.String getQuery()
      Returns the part of the URL string that describes the query.
      java.lang.String getQueryValue​(java.lang.String aKey)
      Returns the value for given Query key in URL, if available.
      java.lang.String getRef()
      Returns the hash tag reference from the URL as a simple string.
      java.lang.String getRefValue​(java.lang.String aKey)
      Returns the value for given HashTag key in URL, if available.
      java.lang.String getScheme()
      Returns the URL Scheme (lower case).
      WebSite getSite()  
      WebURL getSiteURL()
      Returns the URL for the source of this URL.
      WebURL getStaticFileURL()  
      java.lang.String getString()  
      java.net.URL getURL()
      Returns the standard URL.
      static WebURL getURL​(java.lang.Class aClass, java.lang.String aName)
      Returns a URL for given class and resource name.
      static WebURL getURL​(java.lang.Object anObj)
      Returns a URL for given object.
      int hashCode()
      Standard HashCode implementation.
      boolean isFileSet()
      Returns whether file has been set/loaded for this URL.
      boolean isFileURL()
      Returns whether URL is for file only (no hashtags).
      boolean isStaticFileURL()
      Returns whether URL is for static file only (no query/hashtags).
      java.lang.String toString()
      Standard toString implementation.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • WebURL

        protected WebURL​(@Nonnull
                         java.lang.String aSpec)
        Creates a new WebURL for given URL string.
    • Method Detail

      • getURL

        @Nullable
        public static WebURL getURL​(@Nullable
                                    java.lang.Object anObj)
        Returns a URL for given object.
        Parameters:
        anObj - Object to create a WebURL from. May be null (if null, null is returned.)
        Returns:
        a WebURL if one could be created, otherwise null.
      • getURL

        @Nullable
        public static WebURL getURL​(@Nonnull
                                    java.lang.Class aClass,
                                    @Nullable
                                    java.lang.String aName)
        Returns a URL for given class and resource name.
      • getURL

        public java.net.URL getURL()
        Returns the standard URL.
      • getString

        @Nonnull
        public java.lang.String getString()
        Returns:
        Returns the URL string, not null
      • getScheme

        @Nullable
        public java.lang.String getScheme()
        Returns the URL Scheme (lower case).
      • getHost

        @Nullable
        public java.lang.String getHost()
        Returns the Host part of the URL (the Authority minus the optional UserInfo and Port).
      • getPort

        public int getPort()
        Returns the port of the URL.
      • getPath

        @Nullable
        public java.lang.String getPath()
        Returns the part of the URL string that describes the file path.
      • getPathName

        public java.lang.String getPathName()
        Returns the last component of the file path. Not null.
      • getPathNameSimple

        public java.lang.String getPathNameSimple()
        Returns:
        Returns the last component of the file path minus any '.' extension suffix, not null
      • getQuery

        @Nullable
        public java.lang.String getQuery()
        Returns the part of the URL string that describes the query.
      • getQueryValue

        @Nullable
        public java.lang.String getQueryValue​(@Nonnull
                                              java.lang.String aKey)
        Returns the value for given Query key in URL, if available.
      • getRef

        @Nullable
        public java.lang.String getRef()
        Returns the hash tag reference from the URL as a simple string.
      • getRefValue

        @Nullable
        public java.lang.String getRefValue​(@Nonnull
                                            java.lang.String aKey)
        Returns the value for given HashTag key in URL, if available.
      • getSite

        @Nonnull
        public WebSite getSite()
        Returns:
        Returns the source of this URL, not null.
      • getSiteURL

        @Nonnull
        public WebURL getSiteURL()
        Returns the URL for the source of this URL.
      • isFileSet

        public boolean isFileSet()
        Returns whether file has been set/loaded for this URL.
      • getFile

        @Nullable
        public WebFile getFile()
        Returns the file for the URL, may be null.
      • getFileImpl

        @Nullable
        protected WebFile getFileImpl()
        Returns:
        Returns the file for the URL, may be null.
      • createFile

        @Nullable
        public WebFile createFile​(boolean isDir)
        Creates a file for the URL.
      • isFileURL

        public boolean isFileURL()
        Returns whether URL is for file only (no hashtags).
      • isStaticFileURL

        public boolean isStaticFileURL()
        Returns whether URL is for static file only (no query/hashtags).
      • getFileURL

        @Nonnull
        public WebURL getFileURL()
        Returns the URL for the file (no hashtags).
      • getStaticFileURL

        public WebURL getStaticFileURL()
        Returns:
        Returns the URL for the static file (no query/hashtags), not null.
      • getAsSite

        @Nonnull
        public WebSite getAsSite()
        Returns:
        Returns the site for the URL, not null
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Standard HashCode implementation.
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Standard toString implementation. Not null.
        Overrides:
        toString in class java.lang.Object