Interface Resource

    • Method Detail

      • exists

        boolean exists()
        Return whether this resource actually exists in physical form.

        This method performs a definitive existence check, whereas the existence of a Resource handle only guarantees a valid descriptor handle.

        Returns:
        if exists
      • isReadable

        boolean isReadable()
        Return whether the contents of this resource can be read, e.g. via InputStreamResource.getInputStream() or getFile().

        Will be true for typical resource descriptors; note that actual content reading may still fail when attempted. However, a value of false is a definitive indication that the resource content cannot be read.

        Returns:
        if readable
        See Also:
        InputStreamResource.getInputStream()
      • isOpen

        boolean isOpen()
        Return whether this resource represents a handle with an open stream. If true, the InputStream cannot be read multiple times, and must be read and closed to avoid resource leaks.

        Will be false for typical resource descriptors.

        Returns:
        if open
      • getURL

        java.net.URL getURL()
                     throws java.io.IOException
        Returns:
        a URL handle for this resource.
        Throws:
        java.io.IOException - if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
      • getURI

        java.net.URI getURI()
                     throws java.io.IOException
        Returns:
        a URI handle for this resource.
        Throws:
        java.io.IOException - if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor
      • getFile

        java.io.File getFile()
                      throws java.io.IOException
        Returns:
        a File handle for this resource.
        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
      • contentLength

        long contentLength()
                    throws java.io.IOException
        Returns:
        the content length for this resource.
        Throws:
        java.io.IOException - if the resource cannot be resolved (in the file system or as some other known physical resource type)
      • lastModified

        long lastModified()
                   throws java.io.IOException
        Returns:
        the last-modified timestamp for this resource.
        Throws:
        java.io.IOException - if the resource cannot be resolved (in the file system or as some other known physical resource type)
      • createRelative

        Resource createRelative​(java.lang.String relativePath)
                         throws java.io.IOException
        Parameters:
        relativePath - the relative path (relative to this resource)
        Returns:
        the resource handle for the relative resource
        Throws:
        java.io.IOException - if the relative resource cannot be determined
      • getFilename

        java.lang.String getFilename()
        Determine a filename for this resource, i.e. typically the last part of the path: for example, "myfile.txt".

        Returns null if this type of resource does not have a filename.

        Returns:
        the file name.
      • getDescription

        java.lang.String getDescription()
        Returns:
        a description for this resource, to be used for error output when working with the resource.

        Implementations are also encouraged to return this value from their toString method.

        See Also:
        Object.toString()