Class RunningLengthWord

java.lang.Object
com.googlecode.javaewah.RunningLengthWord
All Implemented Interfaces:
Cloneable

public final class RunningLengthWord extends Object implements Cloneable
Mostly for internal use.
Since:
0.1.0
  • Field Details

    • buffer

      final Buffer buffer
      The array of words.
    • position

      int position
      The position in array.
    • RUNNING_LENGTH_BITS

      public static final int RUNNING_LENGTH_BITS
      number of bits dedicated to marking of the running length of clean words
      See Also:
    • LITERAL_BITS

      private static final int LITERAL_BITS
      See Also:
    • LARGEST_LITERAL_COUNT

      public static final int LARGEST_LITERAL_COUNT
      largest number of literal words in a run.
      See Also:
    • LARGEST_RUNNING_LENGTH_COUNT

      public static final long LARGEST_RUNNING_LENGTH_COUNT
      largest number of clean words in a run
      See Also:
    • RUNNING_LENGTH_PLUS_RUNNING_BIT

      private static final long RUNNING_LENGTH_PLUS_RUNNING_BIT
      See Also:
    • SHIFTED_LARGEST_RUNNING_LENGTH_COUNT

      private static final long SHIFTED_LARGEST_RUNNING_LENGTH_COUNT
      See Also:
    • NOT_RUNNING_LENGTH_PLUS_RUNNING_BIT

      private static final long NOT_RUNNING_LENGTH_PLUS_RUNNING_BIT
      See Also:
    • NOT_SHIFTED_LARGEST_RUNNING_LENGTH_COUNT

      private static final long NOT_SHIFTED_LARGEST_RUNNING_LENGTH_COUNT
      See Also:
  • Constructor Details

    • RunningLengthWord

      RunningLengthWord(Buffer buffer, int p)
      Instantiates a new running length word.
      Parameters:
      buffer - the buffer
      p - position in the buffer where the running length word is located.
  • Method Details

    • getNumberOfLiteralWords

      public int getNumberOfLiteralWords()
      Gets the number of literal words.
      Returns:
      the number of literal words
    • getNumberOfLiteralWords

      static int getNumberOfLiteralWords(Buffer buffer, int position)
    • getRunningBit

      public boolean getRunningBit()
      Gets the running bit.
      Returns:
      the running bit
    • getRunningBit

      static boolean getRunningBit(Buffer buffer, int position)
    • getRunningLength

      public long getRunningLength()
      Gets the running length.
      Returns:
      the running length
    • getRunningLength

      static long getRunningLength(Buffer buffer, int position)
    • setNumberOfLiteralWords

      public void setNumberOfLiteralWords(long number)
      Sets the number of literal words.
      Parameters:
      number - the new number of literal words
    • setNumberOfLiteralWords

      static void setNumberOfLiteralWords(Buffer buffer, int position, long number)
    • setRunningBit

      public void setRunningBit(boolean b)
      Sets the running bit.
      Parameters:
      b - the new running bit
    • setRunningBit

      static void setRunningBit(Buffer buffer, int position, boolean b)
    • setRunningLength

      public void setRunningLength(long number)
      Sets the running length.
      Parameters:
      number - the new running length
    • setRunningLength

      static void setRunningLength(Buffer buffer, int position, long number)
    • size

      public long size()
      Return the size in uncompressed words represented by this running length word.
      Returns:
      the size
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException