Class SevenZFile.Builder

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<SevenZFile,SevenZFile.Builder>
org.apache.commons.io.build.AbstractOriginSupplier<SevenZFile,SevenZFile.Builder>
org.apache.commons.io.build.AbstractStreamBuilder<SevenZFile,SevenZFile.Builder>
org.apache.commons.compress.archivers.sevenz.SevenZFile.Builder
All Implemented Interfaces:
org.apache.commons.io.function.IOSupplier<SevenZFile>
Enclosing class:
SevenZFile

public static class SevenZFile.Builder extends org.apache.commons.io.build.AbstractStreamBuilder<SevenZFile,SevenZFile.Builder>
Builds new instances of SevenZFile.
Since:
1.26.0
  • Field Details

    • MEMORY_LIMIT_IN_KB

      static final int MEMORY_LIMIT_IN_KB
      See Also:
    • USE_DEFAULTNAME_FOR_UNNAMED_ENTRIES

      static final boolean USE_DEFAULTNAME_FOR_UNNAMED_ENTRIES
      See Also:
    • TRY_TO_RECOVER_BROKEN_ARCHIVES

      static final boolean TRY_TO_RECOVER_BROKEN_ARCHIVES
      See Also:
    • seekableByteChannel

      private SeekableByteChannel seekableByteChannel
    • defaultName

      private String defaultName
    • password

      private byte[] password
    • maxMemoryLimitKb

      private int maxMemoryLimitKb
    • useDefaultNameForUnnamedEntries

      private boolean useDefaultNameForUnnamedEntries
    • tryToRecoverBrokenArchives

      private boolean tryToRecoverBrokenArchives
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • get

      public SevenZFile get() throws IOException
      Throws:
      IOException
    • setDefaultName

      public SevenZFile.Builder setDefaultName(String defaultName)
      Sets the default name.
      Parameters:
      defaultName - the default name.
      Returns:
      this instance.
    • setMaxMemoryLimitKb

      public SevenZFile.Builder setMaxMemoryLimitKb(int maxMemoryLimitKb)
      Sets the maximum amount of memory in kilobytes to use for parsing the archive and during extraction.

      Not all codecs honor this setting. Currently only LZMA and LZMA2 are supported.

      Parameters:
      maxMemoryLimitKb - the max memory limit in kilobytes.
      Returns:
      this instance.
    • setPassword

      public SevenZFile.Builder setPassword(byte[] password)
      Sets the password.
      Parameters:
      password - the password.
      Returns:
      this instance.
    • setPassword

      public SevenZFile.Builder setPassword(char[] password)
      Sets the password.
      Parameters:
      password - the password.
      Returns:
      this instance.
    • setPassword

      public SevenZFile.Builder setPassword(String password)
      Sets the password.
      Parameters:
      password - the password.
      Returns:
      this instance.
    • setSeekableByteChannel

      public SevenZFile.Builder setSeekableByteChannel(SeekableByteChannel seekableByteChannel)
      Sets the input channel.
      Parameters:
      seekableByteChannel - the input channel.
      Returns:
      this instance.
    • setTryToRecoverBrokenArchives

      public SevenZFile.Builder setTryToRecoverBrokenArchives(boolean tryToRecoverBrokenArchives)
      Sets whether SevenZFile will try to recover broken archives where the CRC of the file's metadata is 0.

      This special kind of broken archive is encountered when mutli volume archives are closed prematurely. If you enable this option SevenZFile will trust data that looks as if it could contain metadata of an archive and allocate big amounts of memory. It is strongly recommended to not enable this option without setting setMaxMemoryLimitKb(int) at the same time.

      Parameters:
      tryToRecoverBrokenArchives - whether SevenZFile will try to recover broken archives where the CRC of the file's metadata is 0.
      Returns:
      this instance.
    • setUseDefaultNameForUnnamedEntries

      public SevenZFile.Builder setUseDefaultNameForUnnamedEntries(boolean useDefaultNameForUnnamedEntries)
      Sets whether entries without a name should get their names set to the archive's default file name.
      Parameters:
      useDefaultNameForUnnamedEntries - whether entries without a name should get their names set to the archive's default file name.
      Returns:
      this instance.