Class Folder


  • final class Folder
    extends java.lang.Object
    The unit of solid compression.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) BindPair[] bindPairs
      Mapping between input and output streams.
      (package private) Coder[] coders
      List of coders used in this folder, e.g.
      (package private) long crc
      The CRC, if present.
      (package private) static Folder[] EMPTY_FOLDER_ARRAY  
      (package private) boolean hasCrc
      Whether the folder has a CRC.
      (package private) int numUnpackSubStreams
      The number of unpack substreams, product of the number of output streams and the number of non-empty files in this folder.
      (package private) long[] packedStreams
      Indices of input streams, one per input stream not listed in bindPairs.
      (package private) long totalInputStreams
      Total number of input streams across all coders.
      (package private) long totalOutputStreams
      Total number of output streams across all coders.
      (package private) long[] unpackSizes
      Unpack sizes, per each output stream.
    • Constructor Summary

      Constructors 
      Constructor Description
      Folder()  
    • Field Detail

      • EMPTY_FOLDER_ARRAY

        static final Folder[] EMPTY_FOLDER_ARRAY
      • coders

        Coder[] coders
        List of coders used in this folder, e.g. one for compression, one for encryption.
      • totalInputStreams

        long totalInputStreams
        Total number of input streams across all coders. This field is currently unused but technically part of the 7z API.
      • totalOutputStreams

        long totalOutputStreams
        Total number of output streams across all coders.
      • bindPairs

        BindPair[] bindPairs
        Mapping between input and output streams.
      • packedStreams

        long[] packedStreams
        Indices of input streams, one per input stream not listed in bindPairs.
      • unpackSizes

        long[] unpackSizes
        Unpack sizes, per each output stream.
      • hasCrc

        boolean hasCrc
        Whether the folder has a CRC.
      • crc

        long crc
        The CRC, if present.
      • numUnpackSubStreams

        int numUnpackSubStreams
        The number of unpack substreams, product of the number of output streams and the number of non-empty files in this folder.
    • Constructor Detail

      • Folder

        Folder()
    • Method Detail

      • findBindPairForInStream

        int findBindPairForInStream​(int index)
      • findBindPairForOutStream

        int findBindPairForOutStream​(int index)
      • getOrderedCoders

        java.lang.Iterable<Coder> getOrderedCoders()
                                            throws java.io.IOException
        Sorts Coders using bind pairs.

        The first coder reads from the packed stream (we currently only support single input stream decoders), the second reads from the output of the first and so on.

        Throws:
        java.io.IOException
      • getUnpackSize

        long getUnpackSize()
      • getUnpackSizeForCoder

        long getUnpackSizeForCoder​(Coder coder)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object