BZip2Resource (Apache Ant API)
Date: 2018-03-24

org.apache.tools.ant.types.resources

## Class BZip2Resource

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.Resource
      - - org.apache.tools.ant.types.resources.ResourceDecorator
        - - org.apache.tools.ant.types.resources.ContentTransformingResource
          - - org.apache.tools.ant.types.resources.CompressedResource
            - - org.apache.tools.ant.types.resources.BZip2Resource

- All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Comparable<Resource>, java.lang.Iterable<Resource>, ResourceCollection

      public class BZip2Resource
      extends CompressedResource

  A Bzip2 compressed resource.

  Wraps around another resource, delegates all queries to that other resource but uncompresses/compresses streams on the fly.

  Since:
    Ant 1.7

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.types.Resource

      `UNKNOWN_DATETIME, UNKNOWN_SIZE`

    - ### Fields inherited from class org.apache.tools.ant.types.DataType

      `checked, ref`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BZip2Resource()` A no-arg constructor
    `BZip2Resource(ResourceCollection other)` Constructor with another resource to wrap.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.String` | `getCompressionName()` Get the name of the compression method.
    `protected java.io.InputStream` | `wrapStream(java.io.InputStream in)` Decompress on the fly using `CBZip2InputStream`.
    `protected java.io.OutputStream` | `wrapStream(java.io.OutputStream out)` Compress on the fly using `CBZip2OutputStream`.

    - ### Methods inherited from class org.apache.tools.ant.types.resources.CompressedResource

      `toString`

    - ### Methods inherited from class org.apache.tools.ant.types.resources.ContentTransformingResource

      `as, getInputStream, getOutputStream, getSize, isAppendSupported`

    - ### Methods inherited from class org.apache.tools.ant.types.resources.ResourceDecorator

      `addConfigured, compareTo, dieOnCircularReference, getLastModified, getName, getResource, hashCode, isDirectory, isExists, isFilesystemOnly, setDirectory, setExists, setLastModified, setName, setRefid, setSize`

    - ### Methods inherited from class org.apache.tools.ant.types.Resource

      `asOptional, clone, equals, getCheckedRef, getMagicNumber, iterator, size, toLongString`

    - ### Methods inherited from class org.apache.tools.ant.types.DataType

      `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

      `isEmpty, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### BZip2Resource

          public BZip2Resource()

      A no-arg constructor

    - #### BZip2Resource

          public BZip2Resource(ResourceCollection other)

      Constructor with another resource to wrap.
      Parameters:
        `other` - the resource to wrap.

  - ### Method Detail

    - #### wrapStream

          protected java.io.InputStream wrapStream(java.io.InputStream in)
                                            throws java.io.IOException

      Decompress on the fly using `CBZip2InputStream`.
      Specified by:
        `wrapStream` in class `ContentTransformingResource`
      Parameters:
        `in` - the stream to wrap.
      Returns:
        the wrapped stream.
      Throws:
        `java.io.IOException` - if there is a problem.

    - #### wrapStream

          protected java.io.OutputStream wrapStream(java.io.OutputStream out)
                                             throws java.io.IOException

      Compress on the fly using `CBZip2OutputStream`.
      Specified by:
        `wrapStream` in class `ContentTransformingResource`
      Parameters:
        `out` - the stream to wrap.
      Returns:
        the wrapped stream.
      Throws:
        `java.io.IOException` - if there is a problem.

    - #### getCompressionName

          protected java.lang.String getCompressionName()

      Get the name of the compression method.
      Specified by:
        `getCompressionName` in class `CompressedResource`
      Returns:
        the string "Bzip2".