org.tukaani.xz

## Class FilterOptions

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

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  ARMOptions, ARMThumbOptions, DeltaOptions, IA64Options, LZMA2Options, PowerPCOptions, SPARCOptions, X86Options

    public abstract class FilterOptions
    extends Object
    implements Cloneable

Base class for filter-specific options classes.

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`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.
`InputStream` `getInputStream(InputStream in)` Gets a raw (no XZ headers) decoder input stream using these options.
`abstract InputStream` `getInputStream(InputStream in, ArrayCache arrayCache)` Gets a raw (no XZ headers) decoder input stream using these options and the given ArrayCache.
`FinishableOutputStream` `getOutputStream(FinishableOutputStream out)` Gets a raw (no XZ headers) encoder output stream using these options.
`abstract FinishableOutputStream` `getOutputStream(FinishableOutputStream out, ArrayCache arrayCache)` Gets a raw (no XZ headers) encoder output stream using these options and the given ArrayCache.

### 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 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.

This is uses ArrayCache.getDefaultCache() as the ArrayCache.

#### getOutputStream

    public abstract FinishableOutputStream getOutputStream(FinishableOutputStream out,
                                                           ArrayCache arrayCache)

Gets a raw (no XZ headers) encoder output stream using these options and the given ArrayCache. 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 InputStream getInputStream(InputStream in)
                               throws IOException

Gets a raw (no XZ headers) decoder input stream using these options.

This is uses ArrayCache.getDefaultCache() as the ArrayCache.

Throws:
  `IOException`

#### getInputStream

    public abstract InputStream getInputStream(InputStream in,
                                               ArrayCache arrayCache)
                                        throws IOException

Gets a raw (no XZ headers) decoder input stream using these options and the given ArrayCache.

Throws:
  `IOException`