Class UrlResource

  • All Implemented Interfaces:
    Resource

    public class UrlResource
    extends AbstractFileResolvingResource
    Resource implementation for java.net.URL locators. Obviously supports resolution as URL, and also as File in case of the "file:" protocol.
    Since:
    28.12.2003
    See Also:
    URL
    • Constructor Summary

      Constructors 
      Constructor Description
      UrlResource​(java.lang.String path)
      Create a new UrlResource.
      UrlResource​(java.net.URI uri)
      Create a new UrlResource.
      UrlResource​(java.net.URL url)
      Create a new UrlResource.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Resource createRelative​(java.lang.String relativePath)
      This implementation creates a UrlResource, applying the given path relative to the path of the underlying URL of this resource descriptor.
      boolean equals​(java.lang.Object obj)
      This implementation compares the underlying URL references.
      java.lang.String getDescription()
      This implementation returns a description that includes the URL.
      java.io.File getFile()
      This implementation returns a File reference for the underlying URL/URI, provided that it refers to a file in the file system.
      java.lang.String getFilename()
      This implementation returns the name of the file that this URL refers to.
      java.io.InputStream getInputStream()
      This implementation opens an InputStream for the given URL.
      java.net.URI getURI()
      This implementation returns the underlying URI directly, if possible.
      java.net.URL getURL()
      This implementation returns the underlying URL reference.
      int hashCode()
      This implementation returns the hash code of the underlying URL reference.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

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

      • UrlResource

        public UrlResource​(java.net.URL url)
        Create a new UrlResource.
        Parameters:
        url - a URL
      • UrlResource

        public UrlResource​(java.net.URI uri)
                    throws java.net.MalformedURLException
        Create a new UrlResource.
        Parameters:
        uri - a URI
        Throws:
        java.net.MalformedURLException - if the given URL path is not valid
      • UrlResource

        public UrlResource​(java.lang.String path)
                    throws java.net.MalformedURLException
        Create a new UrlResource.
        Parameters:
        path - a URL path
        Throws:
        java.net.MalformedURLException - if the given URL path is not valid
    • Method Detail

      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException
        This implementation opens an InputStream for the given URL. It sets the "UseCaches" flag to false, mainly to avoid jar file locking on Windows.
        Returns:
        The input stream
        Throws:
        java.io.IOException
        See Also:
        URL.openConnection(), URLConnection.setUseCaches(boolean), URLConnection.getInputStream()
      • getURL

        public java.net.URL getURL()
                            throws java.io.IOException
        This implementation returns the underlying URL reference.
        Throws:
        java.io.IOException - if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
      • getURI

        public java.net.URI getURI()
                            throws java.io.IOException
        This implementation returns the underlying URI directly, if possible.
        Throws:
        java.io.IOException - if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor
      • getFile

        public java.io.File getFile()
                             throws java.io.IOException
        This implementation returns a File reference for the underlying URL/URI, provided that it refers to a file in the file system.
        Specified by:
        getFile in interface Resource
        Overrides:
        getFile in class AbstractFileResolvingResource
        Throws:
        java.io.IOException - if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file system
      • createRelative

        public Resource createRelative​(java.lang.String relativePath)
        This implementation creates a UrlResource, applying the given path relative to the path of the underlying URL of this resource descriptor.
        Parameters:
        relativePath - The relative path
        Returns:
        The new resource
        See Also:
        URL(java.net.URL, String)
      • getFilename

        public java.lang.String getFilename()
        This implementation returns the name of the file that this URL refers to.
        See Also:
        URL.getFile(), File.getName()
      • getDescription

        public java.lang.String getDescription()
        This implementation returns a description that includes the URL.
        See Also:
        Object.toString()
      • equals

        public boolean equals​(java.lang.Object obj)
        This implementation compares the underlying URL references.
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        This implementation returns the hash code of the underlying URL reference.
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object