Class ChmCommons


  • public class ChmCommons
    extends java.lang.Object
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ChmCommons.EntryType
      Represents entry types: uncompressed, compressed
      static class  ChmCommons.IntelState
      Represents intel file states during decompression
      static class  ChmCommons.LzxState
      Represents lzx states: started decoding, not started decoding
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALIGNED_OFFSET  
      static int UNCOMPRESSED  
      static int UNDEFINED
      Represents lzx block types in order to decompress differently
      static int VERBATIM  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void assertByteArrayNotNull​(byte[] data)  
      static byte[] copyOfRange​(byte[] original, int from, int to)  
      static byte[] getChmBlockSegment​(byte[] data, ChmLzxcResetTable resetTable, int blockNumber, int lzxcBlockOffset, int lzxcBlockLength)  
      static java.lang.String getLanguage​(long langID)
      Returns textual representation of LangID
      static int getWindowSize​(int window)
      LZX supports window sizes of 2^15 (32Kb) through 2^21 (2Mb) Returns X, i.e 2^X
      static boolean hasSkip​(DirectoryListingEntry directoryListingEntry)
      Checks skippable patterns
      static int indexOf​(byte[] text, byte[] pattern)
      Searches some pattern in byte[]
      static int indexOf​(java.util.List<DirectoryListingEntry> list, java.lang.String pattern)
      Searches for some pattern in the directory listing entry list
      static int indexOfResetTableBlock​(byte[] text, byte[] pattern)
      Returns an index of the reset table
      static boolean isEmpty​(java.lang.String str)  
      static void reverse​(byte[] array)
      Reverses the order of given array
      static void writeFile​(byte[][] buffer, java.lang.String fileToBeSaved)
      Writes byte[][] to the file
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getWindowSize

        public static int getWindowSize​(int window)
        LZX supports window sizes of 2^15 (32Kb) through 2^21 (2Mb) Returns X, i.e 2^X
        Parameters:
        window - chmLzxControlData.getWindowSize()
        Returns:
        window size
      • getChmBlockSegment

        public static byte[] getChmBlockSegment​(byte[] data,
                                                ChmLzxcResetTable resetTable,
                                                int blockNumber,
                                                int lzxcBlockOffset,
                                                int lzxcBlockLength)
                                         throws TikaException
        Throws:
        TikaException
      • getLanguage

        public static java.lang.String getLanguage​(long langID)
        Returns textual representation of LangID
        Parameters:
        langID -
        Returns:
        language name
      • hasSkip

        public static boolean hasSkip​(DirectoryListingEntry directoryListingEntry)
        Checks skippable patterns
        Parameters:
        directoryListingEntry -
        Returns:
        boolean
      • writeFile

        public static void writeFile​(byte[][] buffer,
                                     java.lang.String fileToBeSaved)
                              throws TikaException
        Writes byte[][] to the file
        Parameters:
        buffer -
        fileToBeSaved - file name
        Throws:
        TikaException
      • reverse

        public static void reverse​(byte[] array)
        Reverses the order of given array
        Parameters:
        array -
      • indexOfResetTableBlock

        public static final int indexOfResetTableBlock​(byte[] text,
                                                       byte[] pattern)
                                                throws ChmParsingException
        Returns an index of the reset table
        Parameters:
        text -
        pattern -
        Returns:
        index of the reset table
        Throws:
        ChmParsingException
      • indexOf

        public static int indexOf​(byte[] text,
                                  byte[] pattern)
                           throws ChmParsingException
        Searches some pattern in byte[]
        Parameters:
        text - byte[]
        pattern - byte[]
        Returns:
        an index, if nothing found returns -1
        Throws:
        ChmParsingException
      • indexOf

        public static int indexOf​(java.util.List<DirectoryListingEntry> list,
                                  java.lang.String pattern)
        Searches for some pattern in the directory listing entry list
        Parameters:
        list -
        pattern -
        Returns:
        an index, if nothing found returns -1
      • copyOfRange

        public static byte[] copyOfRange​(byte[] original,
                                         int from,
                                         int to)
                                  throws TikaException
        Throws:
        TikaException
      • isEmpty

        public static boolean isEmpty​(java.lang.String str)