LZMAUtils
Date: 2017-02-08

org.apache.commons.compress.compressors.lzma

## Class LZMAUtils

- java.lang.Object
- - org.apache.commons.compress.compressors.lzma.LZMAUtils

-     public class LZMAUtils
      extends java.lang.Object

  Utility code for the lzma compression format.
  Since:
    1.10

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `getCompressedFilename(java.lang.String filename)` Maps the given filename to the name that the file should have after compression with lzma.
    `static java.lang.String` | `getUncompressedFilename(java.lang.String filename)` Maps the given name of a lzma-compressed file to the name that the file should have after uncompression.
    `static boolean` | `isCompressedFilename(java.lang.String filename)` Detects common lzma suffixes in the given filename.
    `static boolean` | `isLZMACompressionAvailable()` Are the classes required to support LZMA compression available?
    `static boolean` | `matches(byte[] signature, int length)` Checks if the signature matches what is expected for a .lzma file.
    `static void` | `setCacheLZMAAvailablity(boolean doCache)` Whether to cache the result of the LZMA check.

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

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

- - ### Method Detail

    - #### matches

          public static boolean matches(byte[] signature,
                        int length)

      Checks if the signature matches what is expected for a .lzma file.
      Parameters:
        `signature` - the bytes to check
        `length` - the number of bytes to check
      Returns:
        true if signature matches the .lzma magic bytes, false otherwise

    - #### isLZMACompressionAvailable

          public static boolean isLZMACompressionAvailable()

      Are the classes required to support LZMA compression available?
      Returns:
        true if the classes required to support LZMA compression are available

    - #### isCompressedFilename

          public static boolean isCompressedFilename(java.lang.String filename)

      Detects common lzma suffixes in the given filename.
      Parameters:
        `filename` - name of a file
      Returns:
        `true` if the filename has a common lzma suffix, `false` otherwise

    - #### getUncompressedFilename

          public static java.lang.String getUncompressedFilename(java.lang.String filename)

      Maps the given name of a lzma-compressed file to the name that the file should have after uncompression. Any filenames with the generic ".lzma" suffix (or any other generic lzma suffix) is mapped to a name without that suffix. If no lzma suffix is detected, then the filename is returned unmapped.
      Parameters:
        `filename` - name of a file
      Returns:
        name of the corresponding uncompressed file

    - #### getCompressedFilename

          public static java.lang.String getCompressedFilename(java.lang.String filename)

      Maps the given filename to the name that the file should have after compression with lzma.
      Parameters:
        `filename` - name of a file
      Returns:
        name of the corresponding compressed file

    - #### setCacheLZMAAvailablity

          public static void setCacheLZMAAvailablity(boolean doCache)

      Whether to cache the result of the LZMA check.

      This defaults to `false` in an OSGi environment and `true` otherwise.

      Parameters:
        `doCache` - whether to cache the result