Class AbstractUnicodeExtraField

java.lang.Object
org.apache.tools.zip.AbstractUnicodeExtraField
All Implemented Interfaces:
ZipExtraField
Direct Known Subclasses:
UnicodeCommentExtraField, UnicodePathExtraField

public abstract class AbstractUnicodeExtraField extends Object implements ZipExtraField
A common base class for Unicode extra information extra fields.
  • Constructor Details

    • AbstractUnicodeExtraField

      protected AbstractUnicodeExtraField()
    • AbstractUnicodeExtraField

      protected AbstractUnicodeExtraField(String text, byte[] bytes, int off, int len)
      Assemble as unicode extension from the name/comment and encoding of the original zip entry.
      Parameters:
      text - The file name or comment.
      bytes - The encoded of the filename or comment in the zip file.
      off - The offset of the encoded filename or comment in bytes.
      len - The length of the encoded filename or comment in bytes.
    • AbstractUnicodeExtraField

      protected AbstractUnicodeExtraField(String text, byte[] bytes)
      Assemble as unicode extension from the name/comment and encoding of the original zip entry.
      Parameters:
      text - The file name or comment.
      bytes - The encoded of the filename or comment in the zip file.
  • Method Details

    • getNameCRC32

      public long getNameCRC32()
      Returns:
      The CRC32 checksum of the filename or comment as encoded in the central directory of the zip file.
    • setNameCRC32

      public void setNameCRC32(long nameCRC32)
      Parameters:
      nameCRC32 - The CRC32 checksum of the filename as encoded in the central directory of the zip file to set.
    • getUnicodeName

      public byte[] getUnicodeName()
      Returns:
      The utf-8 encoded name.
    • setUnicodeName

      public void setUnicodeName(byte[] unicodeName)
      Parameters:
      unicodeName - The utf-8 encoded name to set.
    • getCentralDirectoryData

      public byte[] getCentralDirectoryData()
      The actual data to put into central directory - without Header-ID or length specifier.
      Specified by:
      getCentralDirectoryData in interface ZipExtraField
      Returns:
      the data
    • getCentralDirectoryLength

      public ZipShort getCentralDirectoryLength()
      Length of the extra field in the central directory - without Header-ID or length specifier.
      Specified by:
      getCentralDirectoryLength in interface ZipExtraField
      Returns:
      the length of the field in the central directory
    • getLocalFileDataData

      public byte[] getLocalFileDataData()
      The actual data to put into local file data - without Header-ID or length specifier.
      Specified by:
      getLocalFileDataData in interface ZipExtraField
      Returns:
      the data
    • getLocalFileDataLength

      public ZipShort getLocalFileDataLength()
      Length of the extra field in the local file data - without Header-ID or length specifier.
      Specified by:
      getLocalFileDataLength in interface ZipExtraField
      Returns:
      the length of the field in the local file data
    • parseFromLocalFileData

      public void parseFromLocalFileData(byte[] buffer, int offset, int length) throws ZipException
      Populate data from this array as if it was in local file data.
      Specified by:
      parseFromLocalFileData in interface ZipExtraField
      Parameters:
      buffer - an array of bytes
      offset - the start offset
      length - the number of bytes in the array from offset
      Throws:
      ZipException - on error