Package org.apache.catalina.webresources

## Class AbstractArchiveResource.JarInputStreamWrapper

- java.lang.Object
- - java.io.InputStream
  - - org.apache.catalina.webresources.AbstractArchiveResource.JarInputStreamWrapper

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`
  Enclosing class:
    AbstractArchiveResource

      protected class AbstractArchiveResource.JarInputStreamWrapper
      extends InputStream

  This wrapper assumes that the InputStream was created from a JarFile obtained from a call to getArchiveResourceSet().openJarFile(). If this is not the case then the usage counting in AbstractArchiveResourceSet will break and the JarFile may be unexpectedly closed.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JarInputStreamWrapper​(JarEntry jarEntry, InputStream is)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `available()` |
    `void` | `close()` |
    `Certificate[]` | `getCertificates()` |
    `void` | `mark​(int readlimit)` |
    `boolean` | `markSupported()` |
    `int` | `read()` |
    `int` | `read​(byte[] b)` |
    `int` | `read​(byte[] b, int off, int len)` |
    `void` | `reset()` |
    `long` | `skip​(long n)` |

    - ### Methods inherited from class java.io.InputStream

      `nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### JarInputStreamWrapper

          public JarInputStreamWrapper​(JarEntry jarEntry,
                                       InputStream is)

  - ### Method Detail

    - #### read

          public int read()
                   throws IOException

      Specified by:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### read

          public int read​(byte[] b)
                   throws IOException

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### read

          public int read​(byte[] b,
                          int off,
                          int len)
                   throws IOException

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### skip

          public long skip​(long n)
                    throws IOException

      Overrides:
        `skip` in class `InputStream`
      Throws:
        `IOException`

    - #### available

          public int available()
                        throws IOException

      Overrides:
        `available` in class `InputStream`
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`
      Overrides:
        `close` in class `InputStream`
      Throws:
        `IOException`

    - #### mark

          public void mark​(int readlimit)

      Overrides:
        `mark` in class `InputStream`

    - #### reset

          public void reset()
                     throws IOException

      Overrides:
        `reset` in class `InputStream`
      Throws:
        `IOException`

    - #### markSupported

          public boolean markSupported()

      Overrides:
        `markSupported` in class `InputStream`

    - #### getCertificates

          public Certificate[] getCertificates()