Class GeneralPurposeBit

java.lang.Object
org.apache.commons.compress.archivers.zip.GeneralPurposeBit
All Implemented Interfaces:
Cloneable

public final class GeneralPurposeBit extends Object implements Cloneable
Parser/encoder for the "general purpose bit" field in ZIP's local file and central directory headers.
Since:
1.1
  • Field Details

    • ENCRYPTION_FLAG

      private static final int ENCRYPTION_FLAG
      Indicates that the file is encrypted.
      See Also:
    • SLIDING_DICTIONARY_SIZE_FLAG

      private static final int SLIDING_DICTIONARY_SIZE_FLAG
      Indicates the size of the sliding dictionary used by the compression method 6 (imploding).
      • 0: 4096 bytes
      • 1: 8192 bytes
      See Also:
    • NUMBER_OF_SHANNON_FANO_TREES_FLAG

      private static final int NUMBER_OF_SHANNON_FANO_TREES_FLAG
      Indicates the number of Shannon-Fano trees used by the compression method 6 (imploding).
      • 0: 2 trees (lengths, distances)
      • 1: 3 trees (literals, lengths, distances)
      See Also:
    • DATA_DESCRIPTOR_FLAG

      private static final int DATA_DESCRIPTOR_FLAG
      Indicates that a data descriptor stored after the file contents will hold CRC and size information.
      See Also:
    • STRONG_ENCRYPTION_FLAG

      private static final int STRONG_ENCRYPTION_FLAG
      Indicates strong encryption.
      See Also:
    • UFT8_NAMES_FLAG

      public static final int UFT8_NAMES_FLAG
      Indicates that file names are written in UTF-8.

      The only reason this is public is that ZipArchiveOutputStream.EFS_FLAG was public in Apache Commons Compress 1.0 and we needed a substitute for it.

      See Also:
    • languageEncodingFlag

      private boolean languageEncodingFlag
    • dataDescriptorFlag

      private boolean dataDescriptorFlag
    • encryptionFlag

      private boolean encryptionFlag
    • strongEncryptionFlag

      private boolean strongEncryptionFlag
    • slidingDictionarySize

      private int slidingDictionarySize
    • numberOfShannonFanoTrees

      private int numberOfShannonFanoTrees
  • Constructor Details

    • GeneralPurposeBit

      public GeneralPurposeBit()
  • Method Details

    • usesUTF8ForNames

      public boolean usesUTF8ForNames()
      whether the current entry uses UTF8 for file name and comment.
      Returns:
      whether the current entry uses UTF8 for file name and comment.
    • useUTF8ForNames

      public void useUTF8ForNames(boolean b)
      whether the current entry will use UTF8 for file name and comment.
      Parameters:
      b - whether the current entry will use UTF8 for file name and comment.
    • usesDataDescriptor

      public boolean usesDataDescriptor()
      whether the current entry uses the data descriptor to store CRC and size information.
      Returns:
      whether the current entry uses the data descriptor to store CRC and size information
    • useDataDescriptor

      public void useDataDescriptor(boolean b)
      whether the current entry will use the data descriptor to store CRC and size information.
      Parameters:
      b - whether the current entry will use the data descriptor to store CRC and size information
    • usesEncryption

      public boolean usesEncryption()
      whether the current entry is encrypted.
      Returns:
      whether the current entry is encrypted
    • useEncryption

      public void useEncryption(boolean b)
      whether the current entry will be encrypted.
      Parameters:
      b - whether the current entry will be encrypted
    • usesStrongEncryption

      public boolean usesStrongEncryption()
      whether the current entry is encrypted using strong encryption.
      Returns:
      whether the current entry is encrypted using strong encryption
    • useStrongEncryption

      public void useStrongEncryption(boolean b)
      whether the current entry will be encrypted using strong encryption.
      Parameters:
      b - whether the current entry will be encrypted using strong encryption
    • getSlidingDictionarySize

      int getSlidingDictionarySize()
      Returns the sliding dictionary size used by the compression method 6 (imploding).
    • getNumberOfShannonFanoTrees

      int getNumberOfShannonFanoTrees()
      Returns the number of trees used by the compression method 6 (imploding).
    • encode

      public byte[] encode()
      Encodes the set bits in a form suitable for ZIP archives.
      Returns:
      the encoded general purpose bits
    • encode

      public void encode(byte[] buf, int offset)
      Encodes the set bits in a form suitable for ZIP archives.
      Parameters:
      buf - the output buffer
      offset - The offset within the output buffer of the first byte to be written. must be non-negative and no larger than buf.length-2
    • parse

      public static GeneralPurposeBit parse(byte[] data, int offset)
      Parses the supported flags from the given archive data.
      Parameters:
      data - local file header or a central directory entry.
      offset - offset at which the general purpose bit starts
      Returns:
      parsed flags
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • clone

      public Object clone()
      Overrides:
      clone in class Object