Class ChmPmgiHeader

java.lang.Object
org.apache.tika.parser.microsoft.chm.ChmPmgiHeader
All Implemented Interfaces:
Serializable, ChmAccessor<ChmPmgiHeader>

public class ChmPmgiHeader extends Object implements ChmAccessor<ChmPmgiHeader>
Description Note: not always exists An index chunk has the following format: 0000: char[4] 'PMGI' 0004: DWORD Length of quickref/free area at end of directory chunk 0008: Directory index entries (to quickref/free area) The quickref area in an PMGI is the same as in an PMGL The format of a directory index entry is as follows: BYTE: length of name BYTEs: name (UTF-8 encoded) ENCINT: directory listing chunk which starts with name Encoded Integers aka ENCINT An ENCINT is a variable-length integer. The high bit of each byte indicates "continued to the next byte". Bytes are stored most significant to least significant. So, for example, $EA $15 is (((0xEA&0x7F)<<7)|0x15) = 0x3515.

Note: This class is not in use

See Also:
  • Constructor Details

    • ChmPmgiHeader

      public ChmPmgiHeader()
  • Method Details

    • getSignature

      public byte[] getSignature()
      Returns pmgi signature if exists
      Returns:
      signature
    • setSignature

      protected void setSignature(byte[] signature)
      Sets pmgi signature
      Parameters:
      signature -
    • getFreeSpace

      public long getFreeSpace()
      Returns pmgi free space
      Returns:
      free_space
    • setFreeSpace

      protected void setFreeSpace(long free_space)
      Sets pmgi free space
      Parameters:
      free_space -
    • toString

      public String toString()
      Returns textual representation of the pmgi header
      Overrides:
      toString in class Object
    • parse

      public void parse(byte[] data, ChmPmgiHeader chmPmgiHeader) throws TikaException
      Description copied from interface: ChmAccessor
      Parses chm accessor
      Specified by:
      parse in interface ChmAccessor<ChmPmgiHeader>
      Parameters:
      data - chm file
      Throws:
      TikaException