java.lang.Object
org.apache.commons.compress.compressors.lz77support.Parameters

public final class Parameters extends Object
Parameters of the compressor.
  • Field Details

    • TRUE_MIN_BACK_REFERENCE_LENGTH

      public static final int TRUE_MIN_BACK_REFERENCE_LENGTH
      The hard-coded absolute minimal length of a back-reference.
      See Also:
    • windowSize

      private final int windowSize
    • minBackReferenceLength

      private final int minBackReferenceLength
    • maxBackReferenceLength

      private final int maxBackReferenceLength
    • maxOffset

      private final int maxOffset
    • maxLiteralLength

      private final int maxLiteralLength
    • niceBackReferenceLength

      private final int niceBackReferenceLength
    • maxCandidates

      private final int maxCandidates
    • lazyThreshold

      private final int lazyThreshold
    • lazyMatching

      private final boolean lazyMatching
  • Constructor Details

    • Parameters

      private Parameters(int windowSize, int minBackReferenceLength, int maxBackReferenceLength, int maxOffset, int maxLiteralLength, int niceBackReferenceLength, int maxCandidates, boolean lazyMatching, int lazyThreshold)
  • Method Details

    • builder

      public static Parameters.Builder builder(int windowSize)
      Initializes the builder for the compressor's parameters with a minBackReferenceLength of 3 and max*Length equal to windowSize - 1.

      It is recommended to not use this method directly but rather tune a pre-configured builder created by a format specific factory like SnappyCompressorOutputStream.createParameterBuilder(int).

      Parameters:
      windowSize - the size of the sliding window - this determines the maximum offset a back-reference can take. Must be a power of two.
      Returns:
      a builder configured for the given window size
      Throws:
      IllegalArgumentException - if windowSize is not a power of two.
    • getWindowSize

      public int getWindowSize()
      Gets the size of the sliding window - this determines the maximum offset a back-reference can take.
      Returns:
      the size of the sliding window
    • getMinBackReferenceLength

      public int getMinBackReferenceLength()
      Gets the minimal length of a back-reference found.
      Returns:
      the minimal length of a back-reference found
    • getMaxBackReferenceLength

      public int getMaxBackReferenceLength()
      Gets the maximal length of a back-reference found.
      Returns:
      the maximal length of a back-reference found
    • getMaxOffset

      public int getMaxOffset()
      Gets the maximal offset of a back-reference found.
      Returns:
      the maximal offset of a back-reference found
    • getMaxLiteralLength

      public int getMaxLiteralLength()
      Gets the maximal length of a literal block.
      Returns:
      the maximal length of a literal block
    • getNiceBackReferenceLength

      public int getNiceBackReferenceLength()
      Gets the length of a back-reference that is considered nice enough to stop searching for longer ones.
      Returns:
      the length of a back-reference that is considered nice enough to stop searching
    • getMaxCandidates

      public int getMaxCandidates()
      Gets the maximum number of back-reference candidates to consider.
      Returns:
      the maximum number of back-reference candidates to consider
    • getLazyMatching

      public boolean getLazyMatching()
      Gets whether to perform lazy matching.
      Returns:
      whether to perform lazy matching
    • getLazyMatchingThreshold

      public int getLazyMatchingThreshold()
      Gets the threshold for lazy matching.
      Returns:
      the threshold for lazy matching
    • isPowerOfTwo

      private static boolean isPowerOfTwo(int x)