Class Unpack


  • public final class Unpack
    extends Unpack20
    DOCUMENT ME
    Version:
    $LastChangedRevision$
    • Field Detail

      • ppmEscChar

        private int ppmEscChar
      • rarVM

        private final RarVM rarVM
      • filters

        private final java.util.List<UnpackFilter> filters
      • prgStack

        private final java.util.List<UnpackFilter> prgStack
      • oldFilterLengths

        private final java.util.List<java.lang.Integer> oldFilterLengths
      • lastFilter

        private int lastFilter
      • tablesRead

        private boolean tablesRead
      • unpOldTable

        private final byte[] unpOldTable
      • writtenFileSize

        private long writtenFileSize
      • fileExtracted

        private boolean fileExtracted
      • ppmError

        private boolean ppmError
      • prevLowDist

        private int prevLowDist
      • lowDistRepCount

        private int lowDistRepCount
      • DBitLengthCounts

        public static int[] DBitLengthCounts
    • Constructor Detail

    • Method Detail

      • init

        public void init​(byte[] window)
      • doUnpack

        public void doUnpack​(int method,
                             boolean solid)
                      throws java.io.IOException,
                             RarException
        Throws:
        java.io.IOException
        RarException
      • unstoreFile

        private void unstoreFile()
                          throws java.io.IOException,
                                 RarException
        Throws:
        java.io.IOException
        RarException
      • unpack29

        private void unpack29​(boolean solid)
                       throws java.io.IOException,
                              RarException
        Throws:
        java.io.IOException
        RarException
      • UnpWriteBuf

        private void UnpWriteBuf()
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • UnpWriteArea

        private void UnpWriteArea​(int startPtr,
                                  int endPtr)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • UnpWriteData

        private void UnpWriteData​(byte[] data,
                                  int offset,
                                  int size)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • insertOldDist

        private void insertOldDist​(int distance)
      • insertLastMatch

        private void insertLastMatch​(int length,
                                     int distance)
      • copyString

        private void copyString​(int length,
                                int distance)
      • unpInitData

        protected void unpInitData​(boolean solid)
        Specified by:
        unpInitData in class Unpack15
      • initFilters

        private void initFilters()
      • readEndOfBlock

        private boolean readEndOfBlock()
                                throws java.io.IOException,
                                       RarException
        Throws:
        java.io.IOException
        RarException
      • readTables

        private boolean readTables()
                            throws java.io.IOException,
                                   RarException
        Throws:
        java.io.IOException
        RarException
      • readVMCode

        private boolean readVMCode()
                            throws java.io.IOException,
                                   RarException
        Throws:
        java.io.IOException
        RarException
      • readVMCodePPM

        private boolean readVMCodePPM()
                               throws java.io.IOException,
                                      RarException
        Throws:
        java.io.IOException
        RarException
      • addVMCode

        private boolean addVMCode​(int firstByte,
                                  java.util.List<java.lang.Byte> vmCode,
                                  int length)
      • isFileExtracted

        public boolean isFileExtracted()
      • setDestSize

        public void setDestSize​(long destSize)
      • setSuspended

        public void setSuspended​(boolean suspended)
      • getPpmEscChar

        public int getPpmEscChar()
      • setPpmEscChar

        public void setPpmEscChar​(int ppmEscChar)
      • cleanUp

        public void cleanUp()