Class AbstractArchiveResource

java.lang.Object
org.apache.catalina.webresources.AbstractResource
org.apache.catalina.webresources.AbstractArchiveResource
All Implemented Interfaces:
WebResource
Direct Known Subclasses:
AbstractSingleArchiveResource, JarWarResource

public abstract class AbstractArchiveResource extends AbstractResource
Abstract resource implementation for archive-based resources.
  • Constructor Details

  • Method Details

    • getArchiveResourceSet

      protected AbstractArchiveResourceSet getArchiveResourceSet()
      Returns the archive resource set.
      Returns:
      the archive resource set
    • getBase

      protected final String getBase()
      Returns the base.
      Returns:
      the base
    • getBaseUrl

      protected final String getBaseUrl()
      Returns the base URL.
      Returns:
      the base URL
    • getResource

      protected final JarEntry getResource()
      Returns the resource.
      Returns:
      the resource
    • getLastModified

      public long getLastModified()
      Description copied from interface: WebResource
      Returns the last modified time.
      Returns:
      File.lastModified().
    • exists

      public boolean exists()
      Description copied from interface: WebResource
      Checks if this resource exists.
      Returns:
      File.exists().
    • isVirtual

      public boolean isVirtual()
      Description copied from interface: WebResource
      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

      public boolean isDirectory()
      Description copied from interface: WebResource
      Checks if this resource is a directory.
      Returns:
      File.isDirectory().
    • isFile

      public boolean isFile()
      Description copied from interface: WebResource
      Checks if this resource is a file.
      Returns:
      File.isFile().
    • delete

      public boolean delete()
      Description copied from interface: WebResource
      Deletes this resource.
      Returns:
      File.delete().
    • getName

      public String getName()
      Description copied from interface: WebResource
      Returns the name of this resource.
      Returns:
      File.getName().
    • getContentLength

      public long getContentLength()
      Description copied from interface: WebResource
      Returns the content length of this resource.
      Returns:
      File.length().
    • getCanonicalPath

      public String getCanonicalPath()
      Description copied from interface: WebResource
      Returns the canonical path of this resource.
      Returns:
      File.getCanonicalPath().
    • canRead

      public boolean canRead()
      Description copied from interface: WebResource
      Checks if this resource can be read.
      Returns:
      File.canRead().
    • getCreation

      public long getCreation()
      Description copied from interface: WebResource
      Returns the creation time of this resource.
      Returns:
      The time the file was created. If not available, the result of WebResource.getLastModified() will be returned.
    • getURL

      public URL getURL()
      Description copied from interface: WebResource
      Returns a URL to access this resource.
      Returns:
      a URL to access the resource or null if no such URL is available or if the resource does not exist.
    • getCodeBase

      public URL getCodeBase()
      Description copied from interface: WebResource
      Returns the code base for this resource.

      The expectation is that this will be deprecated and then removed once the SecurityManager has been fully removed from the JRE, and it has been confirmed that the JRE no longer depends on code base.

      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.
    • getContent

      public final byte[] getContent()
      Description copied from interface: WebResource
      Returns the binary content of this resource.
      Returns:
      the binary content of this resource or null if it is not available in a byte[] because, for example, it is too big.
    • getCertificates

      public Certificate[] getCertificates()
      Description copied from interface: WebResource
      Returns the certificates that were used to sign this resource to verify it.
      Returns:
      the certificates that were used to sign this resource to verify it or @null if none.
      See Also:
    • getManifest

      public Manifest getManifest()
      Description copied from interface: WebResource
      Returns the manifest associated with this resource.
      Returns:
      the manifest associated with this resource or @null if none.
      See Also:
    • doGetInputStream

      protected final InputStream doGetInputStream()
      Description copied from class: AbstractResource
      Returns the input stream for this resource.
      Specified by:
      doGetInputStream in class AbstractResource
      Returns:
      the input stream for this resource
    • getJarInputStreamWrapper

      protected abstract AbstractArchiveResource.JarInputStreamWrapper getJarInputStreamWrapper()