Package org.apache.tools.zip

# Class GeneralPurposeBit

java.lang.Object
org.apache.tools.zip.GeneralPurposeBit

All Implemented Interfaces:
  `java.lang.Cloneable`

    public final class GeneralPurposeBit
    extends java.lang.Object
    implements java.lang.Cloneable

Parser/encoder for the "general purpose bit" field in ZIP's local file and central directory headers.

Since:
  Ant 1.9.0

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static int` | `UFT8_NAMES_FLAG` | Indicates that filenames are written in utf-8.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `GeneralPurposeBit()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.lang.Object` | `clone()` |
  `byte[]` | `encode()` | Encodes the set bits in a form suitable for ZIP archives.
  `void` | `encode​(byte[] buf, int offset)` | Encodes the set bits in a form suitable for ZIP archives.
  `boolean` | `equals​(java.lang.Object o)` |
  `int` | `hashCode()` |
  `static GeneralPurposeBit` | `parse​(byte[] data, int offset)` | Parses the supported flags from the given archive data.
  `void` | `useDataDescriptor​(boolean b)` | whether the current entry will use the data descriptor to store CRC and size information
  `void` | `useEncryption​(boolean b)` | whether the current entry will be encrypted
  `boolean` | `usesDataDescriptor()` | whether the current entry uses the data descriptor to store CRC and size information
  `boolean` | `usesEncryption()` | whether the current entry is encrypted
  `boolean` | `usesStrongEncryption()` | whether the current entry is encrypted using strong encryption
  `void` | `useStrongEncryption​(boolean b)` | whether the current entry will be encrypted using strong encryption
  `boolean` | `usesUTF8ForNames()` | whether the current entry uses UTF8 for file name and comment.
  `void` | `useUTF8ForNames​(boolean b)` | whether the current entry will use UTF8 for file name and comment.

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

  `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### UFT8_NAMES_FLAG

    public static final int UFT8_NAMES_FLAG
    Indicates that filenames are written in utf-8.

    The only reason this is public is that `ZipOutputStream.EFS_FLAG` was public in several versions of Apache Ant and we needed a substitute for it.

    See Also:
      Constant Field Values

- ## Constructor Details

  - ### GeneralPurposeBit

    public GeneralPurposeBit()

- ## Method Details

  - ### usesUTF8ForNames

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

  - ### useUTF8ForNames

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

  - ### usesDataDescriptor

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

  - ### useDataDescriptor

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

  - ### usesEncryption

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

  - ### useEncryption

    public void useEncryption​(boolean b)
    whether the current entry will be encrypted
    Parameters:
      `b` - boolean

  - ### usesStrongEncryption

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

  - ### useStrongEncryption

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

  - ### encode

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

  - ### 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:
      GeneralPurposeBit

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `java.lang.Object`

  - ### equals

    public boolean equals​(java.lang.Object o)
    Overrides:
      `equals` in class `java.lang.Object`

  - ### clone

    public java.lang.Object clone()
    Overrides:
      `clone` in class `java.lang.Object`