# 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

Modifier and Type
Method
Description
`boolean`
`canRead()`
`boolean`
`delete()`
`boolean`
`exists()`
`String`
`getCanonicalPath()`
`Certificate[]`
`getCertificates()`
`URL`
`getCodeBase()`
`byte[]`
`getContent()`
`long`
`getContentLength()`
`long`
`getCreation()`
`String`
`getETag()`
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()`
`default String`
`getStrongETag()`
Return the strong ETag if available else return the weak ETag calculated from the content length and last modified.
`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 Details

### 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 weak ETag calculated from the content length and last modified.

Returns:
  The ETag for this resource

### getStrongETag

default String getStrongETag()
Return the strong ETag if available 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()`