# Class AbstractResource

java.lang.Object
org.apache.catalina.webresources.AbstractResource

All Implemented Interfaces:
  `WebResource`

Direct Known Subclasses:
  `AbstractArchiveResource, FileResource, JarResourceRoot`

public abstract class AbstractResource extends Object implements WebResource
Abstract `WebResource` implementation that provides common functionality for all web resource implementations.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final StringManager`
`sm`
The string manager for this class.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractResource(WebResourceRoot root, String webAppPath)`
Constructs a new AbstractResource.

## Method Summary

Modifier and Type
Method
Description
`protected abstract InputStream`
`doGetInputStream()`
Returns the input stream for this resource.
`protected long`
`getCreation(File file)`
`final String`
`getETag()`
Gets the weak ETag for this resource.
`final InputStream`
`getInputStream()`
Gets the input stream for this resource.
`final String`
`getLastModifiedHttp()`
Gets the last modified date as an HTTP date string.
`protected abstract Log`
`getLog()`
Gets the logger for this resource.
`final String`
`getMimeType()`
Gets the MIME type for this resource.
`final String`
`getStrongETag()`
Gets the strong ETag for this resource.
`final String`
`getWebappPath()`
Gets the web app path.
`final WebResourceRoot`
`getWebResourceRoot()`
Gets the web resource root.
`final void`
`setMimeType(String mimeType)`
Sets the MIME type for this resource.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface WebResource

`canRead, delete, exists, getCanonicalPath, getCertificates, getCodeBase, getContent, getContentLength, getCreation, getLastModified, getManifest, getName, getURL, isDirectory, isFile, isVirtual`

## Field Details

### sm

protected static final StringManager sm
The string manager for this class.

## Constructor Details

### AbstractResource

protected AbstractResource(WebResourceRoot root, String webAppPath)
Constructs a new AbstractResource.

Parameters:
  `root` - The root
  `webAppPath` - The web app path

## Method Details

### getWebResourceRoot

public final WebResourceRoot getWebResourceRoot()
Gets the web resource root.

Specified by:
  `getWebResourceRoot` in interface `WebResource`
Returns:
  The web resource root

### getWebappPath

public final String getWebappPath()
Gets the web app path.

Specified by:
  `getWebappPath` in interface `WebResource`
Returns:
  The web app path

### getLastModifiedHttp

public final String getLastModifiedHttp()
Gets the last modified date as an HTTP date string.

Specified by:
  `getLastModifiedHttp` in interface `WebResource`
Returns:
  The last modified date as an HTTP date string

### getETag

public final String getETag()
Gets the weak ETag for this resource.

Specified by:
  `getETag` in interface `WebResource`
Returns:
  The weak ETag

### getStrongETag

public final String getStrongETag()
Gets the strong ETag for this resource.

Specified by:
  `getStrongETag` in interface `WebResource`
Returns:
  The strong ETag

### setMimeType

public final void setMimeType(String mimeType)
Sets the MIME type for this resource.

Specified by:
  `setMimeType` in interface `WebResource`
Parameters:
  `mimeType` - The MIME type

### getMimeType

public final String getMimeType()
Gets the MIME type for this resource.

Specified by:
  `getMimeType` in interface `WebResource`
Returns:
  The MIME type

### getInputStream

public final InputStream getInputStream()
Gets the input stream for this resource.

Specified by:
  `getInputStream` in interface `WebResource`
Returns:
  the input stream for this resource

### doGetInputStream

protected abstract InputStream doGetInputStream()
Returns the input stream for this resource.

Returns:
  the input stream for this resource

### getLog

protected abstract Log getLog()
Gets the logger for this resource.

Returns:
  the logger

### getCreation

protected long getCreation(File file)