Class ChmPmgiHeader
java.lang.Object
org.apache.tika.parser.microsoft.chm.ChmPmgiHeader
- All Implemented Interfaces:
Serializable
,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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionlong
Returns pmgi free spacebyte[]
Returns pmgi signature if existsvoid
parse
(byte[] data, ChmPmgiHeader chmPmgiHeader) Parses chm accessorprotected void
setFreeSpace
(long free_space) Sets pmgi free spaceprotected void
setSignature
(byte[] signature) Sets pmgi signaturetoString()
Returns textual representation of the pmgi header
-
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
Returns textual representation of the pmgi header -
parse
Description copied from interface:ChmAccessor
Parses chm accessor- Specified by:
parse
in interfaceChmAccessor<ChmPmgiHeader>
- Parameters:
data
- chm file- Throws:
TikaException
-