Class WebURL

java.lang.Object
com.inductiveautomation.snap.web.WebURL

public class WebURL extends 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 Details

    • WebURL

      protected WebURL(@Nonnull String aSpec)
      Creates a new WebURL for given URL string.
  • Method Details

    • getURL

      @Nullable public static WebURL getURL(@Nullable 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 Class aClass, @Nullable String aName)
      Returns a URL for given class and resource name.
    • getURL

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

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

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

      @Nullable public 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 String getPath()
      Returns the part of the URL string that describes the file path.
    • getPathName

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

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

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

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

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

      @Nullable public String getRefValue(@Nonnull 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(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class Object
    • hashCode

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

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