com.googlecode.javaewah
Class IteratingBufferedRunningLengthWord

java.lang.Object
  extended by com.googlecode.javaewah.IteratingBufferedRunningLengthWord

public final class IteratingBufferedRunningLengthWord
extends Object

Mostly for internal use. Similar to BufferedRunningLengthWord, but automatically advances to the next BufferedRunningLengthWord as words are discarded.

Since:
0.4.0
Author:
David McIntosh

Constructor Summary
IteratingBufferedRunningLengthWord(EWAHCompressedBitmap bitmap)
          Instantiates a new iterating buffered running length word.
IteratingBufferedRunningLengthWord(EWAHIterator iterator)
          Instantiates a new iterating buffered running length word.
 
Method Summary
 void discardFirstWords(long x)
          Discard first words, iterating to the next running length word if needed.
 void discharge(BitmapStorage container)
          Write out the remaining words
 long discharge(BitmapStorage container, long max)
          Write out up to max words, returns how many were written
 void dischargeAsEmpty(BitmapStorage container)
          Write out the remain words, transforming them to zeroes.
 long dischargeNegated(BitmapStorage container, long max)
          Write out up to max words (negated), returns how many were written
 long getLiteralWordAt(int index)
          Get the nth literal word for the current running length word
 int getNumberOfLiteralWords()
          Gets the number of literal words for the current running length word.
 boolean getRunningBit()
          Gets the running bit.
 long getRunningLength()
          Gets the running length.
 long size()
          Size in uncompressed words of the current running length word.
 void writeLiteralWords(int numWords, BitmapStorage container)
          write the first N literal words to the target bitmap.
 void writeNegatedLiteralWords(int numWords, BitmapStorage container)
          write the first N literal words (negated) to the target bitmap.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IteratingBufferedRunningLengthWord

public IteratingBufferedRunningLengthWord(EWAHIterator iterator)
Instantiates a new iterating buffered running length word.

Parameters:
iterator - iterator

IteratingBufferedRunningLengthWord

public IteratingBufferedRunningLengthWord(EWAHCompressedBitmap bitmap)
Instantiates a new iterating buffered running length word.

Parameters:
iterator - iterator
Method Detail

discardFirstWords

public void discardFirstWords(long x)
Discard first words, iterating to the next running length word if needed.

Parameters:
x - the x

discharge

public long discharge(BitmapStorage container,
                      long max)
Write out up to max words, returns how many were written

Parameters:
container - target for writes
max - maximal number of writes
Returns:
how many written

dischargeNegated

public long dischargeNegated(BitmapStorage container,
                             long max)
Write out up to max words (negated), returns how many were written

Parameters:
container - target for writes
max - maximal number of writes
Returns:
how many written

dischargeAsEmpty

public void dischargeAsEmpty(BitmapStorage container)
Write out the remain words, transforming them to zeroes.

Parameters:
container - target for writes

discharge

public void discharge(BitmapStorage container)
Write out the remaining words

Parameters:
container - target for writes

getLiteralWordAt

public long getLiteralWordAt(int index)
Get the nth literal word for the current running length word

Parameters:
index - zero based index
Returns:
the literal word

getNumberOfLiteralWords

public int getNumberOfLiteralWords()
Gets the number of literal words for the current running length word.

Returns:
the number of literal words

getRunningBit

public boolean getRunningBit()
Gets the running bit.

Returns:
the running bit

getRunningLength

public long getRunningLength()
Gets the running length.

Returns:
the running length

size

public long size()
Size in uncompressed words of the current running length word.

Returns:
the long

writeLiteralWords

public void writeLiteralWords(int numWords,
                              BitmapStorage container)
write the first N literal words to the target bitmap. Does not discard the words or perform iteration.

Parameters:
numWords -
container -

writeNegatedLiteralWords

public void writeNegatedLiteralWords(int numWords,
                                     BitmapStorage container)
write the first N literal words (negated) to the target bitmap. Does not discard the words or perform iteration.

Parameters:
numWords -
container -


Copyright © 2013. All Rights Reserved.