Class 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.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      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 Detail

      • 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 Detail

      • GeneralPurposeBit

        public GeneralPurposeBit()
    • Method Detail

      • 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