org.apache.catalina

## Interface WebResource

- All Known Implementing Classes:
    AbstractArchiveResource, AbstractResource, AbstractSingleArchiveResource, CachedResource, EmptyResource, FileResource, JarResource, JarResourceRoot, JarWarResource, VirtualResource, WarResource

      public interface WebResource

  Represents a file or directory within a web application. It borrows heavily from `File`.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canRead()`
    `boolean` | `delete()`
    `boolean` | `exists()`
    `String` | `getCanonicalPath()`
    `Certificate[]` | `getCertificates()`
    `URL` | `getCodeBase()`
    `byte[]` | `getContent()`
    `long` | `getContentLength()`
    `long` | `getCreation()`
    `String` | `getETag()` Return the strong ETag if available (currently not supported) else return the weak ETag calculated from the content length and last modified.
    `InputStream` | `getInputStream()` Obtain an InputStream based on the contents of this resource.
    `long` | `getLastModified()`
    `String` | `getLastModifiedHttp()`
    `Manifest` | `getManifest()`
    `String` | `getMimeType()`
    `String` | `getName()`
    `URL` | `getURL()`
    `String` | `getWebappPath()`
    `WebResourceRoot` | `getWebResourceRoot()`
    `boolean` | `isDirectory()`
    `boolean` | `isFile()`
    `boolean` | `isVirtual()` Indicates if this resource is required for applications to correctly scan the file structure but that does not exist in either the main or any additional `WebResourceSet`.
    `void` | `setMimeType(String mimeType)` Set the MIME type for this Resource.

- - ### Method Detail

    - #### getLastModified

          long getLastModified()

      Returns:
        `File.lastModified()`.

    - #### getLastModifiedHttp

          String getLastModifiedHttp()

      Returns:
        the last modified time of this resource in the correct format for the HTTP Last-Modified header as specified by RFC 2616.

    - #### exists

          boolean exists()

      Returns:
        `File.exists()`.

    - #### isVirtual

          boolean isVirtual()

      Indicates if this resource is required for applications to correctly scan the file structure but that does not exist in either the main or any additional `WebResourceSet`. For example, if an external directory is mapped to /WEB-INF/lib in an otherwise empty web application, /WEB-INF will be represented as a virtual resource.
      Returns:
        `true` for a virtual resource

    - #### isDirectory

          boolean isDirectory()

      Returns:
        `File.isDirectory()`.

    - #### isFile

          boolean isFile()

      Returns:
        `File.isFile()`.

    - #### delete

          boolean delete()

      Returns:
        `File.delete()`.

    - #### getName

          String getName()

      Returns:
        `File.getName()`.

    - #### getContentLength

          long getContentLength()

      Returns:
        `File.length()`.

    - #### getCanonicalPath

          String getCanonicalPath()

      Returns:
        `File.getCanonicalPath()`.

    - #### canRead

          boolean canRead()

      Returns:
        `File.canRead()`.

    - #### getWebappPath

          String getWebappPath()

      Returns:
        The path of this resource relative to the web application root. If the resource is a directory, the return value will end in '/'.

    - #### getETag

          String getETag()

      Return the strong ETag if available (currently not supported) else return the weak ETag calculated from the content length and last modified.
      Returns:
        The ETag for this resource

    - #### setMimeType

          void setMimeType(String mimeType)

      Set the MIME type for this Resource.
      Parameters:
        `mimeType` - The mime type that will be associated with the resource

    - #### getMimeType

          String getMimeType()

      Returns:
        the MIME type for this Resource.

    - #### getInputStream

          InputStream getInputStream()

      Obtain an InputStream based on the contents of this resource.
      Returns:
        An InputStream based on the contents of this resource or `null` if the resource does not exist or does not represent a file

    - #### getContent

          byte[] getContent()

      Returns:
        the binary content of this resource or `null` if it is not available in a byte[] because, for example, it is too big.

    - #### getCreation

          long getCreation()

      Returns:
        The time the file was created. If not available, the result of `getLastModified()` will be returned.

    - #### getURL

          URL getURL()

      Returns:
        a URL to access the resource or `null` if no such URL is available or if the resource does not exist.

    - #### getCodeBase

          URL getCodeBase()

      Returns:
        the code base for this resource that will be used when looking up the assigned permissions for the code base in the security policy file when running under a security manager.

    - #### getWebResourceRoot

          WebResourceRoot getWebResourceRoot()

      Returns:
        a reference to the WebResourceRoot of which this WebResource is a part.

    - #### getCertificates

          Certificate[] getCertificates()

      Returns:
        the certificates that were used to sign this resource to verify it or @null if none.
      See Also:
        `JarEntry.getCertificates()`

    - #### getManifest

          Manifest getManifest()

      Returns:
        the manifest associated with this resource or @null if none.
      See Also:
        `JarFile.getManifest()`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.