FilterOptions
Date: 2017-02-08

org.tukaani.xz

## Class FilterOptions

- java.lang.Object
- - org.tukaani.xz.FilterOptions

- All Implemented Interfaces:
    java.lang.Cloneable
  Direct Known Subclasses:
    ARMOptions, ARMThumbOptions, DeltaOptions, IA64Options, LZMA2Options, PowerPCOptions, SPARCOptions, X86Options

      public abstract class FilterOptions
      extends java.lang.Object
      implements java.lang.Cloneable

  Base class for filter-specific options classes.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract int` | `getDecoderMemoryUsage()` Gets how much memory the decoder will need to decompress the data that was encoded with these options.
    `static int` | `getDecoderMemoryUsage(FilterOptions[] options)` Gets how much memory the decoder will need with the given filter chain.
    `abstract int` | `getEncoderMemoryUsage()` Gets how much memory the encoder will need with these options.
    `static int` | `getEncoderMemoryUsage(FilterOptions[] options)` Gets how much memory the encoder will need with the given filter chain.
    `abstract java.io.InputStream` | `getInputStream(java.io.InputStream in)` Gets a raw (no XZ headers) decoder input stream using these options.
    `abstract FinishableOutputStream` | `getOutputStream(FinishableOutputStream out)` Gets a raw (no XZ headers) encoder output stream using these options.

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

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

- - ### Method Detail

    - #### getEncoderMemoryUsage

          public static int getEncoderMemoryUsage(FilterOptions[] options)

      Gets how much memory the encoder will need with the given filter chain. This function simply calls `getEncoderMemoryUsage()` for every filter in the array and returns the sum of the returned values.

    - #### getDecoderMemoryUsage

          public static int getDecoderMemoryUsage(FilterOptions[] options)

      Gets how much memory the decoder will need with the given filter chain. This function simply calls `getDecoderMemoryUsage()` for every filter in the array and returns the sum of the returned values.

    - #### getEncoderMemoryUsage

          public abstract int getEncoderMemoryUsage()

      Gets how much memory the encoder will need with these options.

    - #### getOutputStream

          public abstract FinishableOutputStream getOutputStream(FinishableOutputStream out)

      Gets a raw (no XZ headers) encoder output stream using these options. Raw streams are an advanced feature. In most cases you want to store the compressed data in the .xz container format instead of using a raw stream. To use this filter in a .xz file, pass this object to XZOutputStream.

    - #### getDecoderMemoryUsage

          public abstract int getDecoderMemoryUsage()

      Gets how much memory the decoder will need to decompress the data that was encoded with these options.

    - #### getInputStream

          public abstract java.io.InputStream getInputStream(java.io.InputStream in)
                                                      throws java.io.IOException

      Gets a raw (no XZ headers) decoder input stream using these options.
      Throws:
        `java.io.IOException`