org.apache.lucene.util
Class BitVector

java.lang.Object
  extended by org.apache.lucene.util.BitVector
All Implemented Interfaces:
Cloneable, Bits

public final class BitVector
extends Object
implements Cloneable, Bits

Optimized implementation of a vector of bits. This is more-or-less like java.util.BitSet, but also includes the following:

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.lucene.util.Bits
Bits.MatchAllBits, Bits.MatchNoBits
 
Field Summary
 
Fields inherited from interface org.apache.lucene.util.Bits
EMPTY_ARRAY
 
Constructor Summary
BitVector(Directory d, String name)
          Constructs a bit vector from the file name in Directory d, as written by the write(org.apache.lucene.store.Directory, java.lang.String) method.
BitVector(int n)
          Constructs a vector capable of holding n bits.
 
Method Summary
 void clear(int bit)
          Sets the value of bit to zero.
 Object clone()
           
 int count()
          Returns the total number of one bits in this vector.
 boolean get(int bit)
          Returns true if bit is one and false if it is zero.
 boolean getAndSet(int bit)
          Sets the value of bit to true, and returns true if bit was already set
 int getRecomputedCount()
          For testing
 int length()
          Returns the number of bits in this vector.
 void set(int bit)
          Sets the value of bit to one.
 int size()
          Returns the number of bits in this vector.
 void write(Directory d, String name)
          Writes this vector to the file name in Directory d, in a format that can be read by the constructor BitVector(Directory, String).
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BitVector

public BitVector(int n)
Constructs a vector capable of holding n bits.


BitVector

public BitVector(Directory d,
                 String name)
          throws IOException
Constructs a bit vector from the file name in Directory d, as written by the write(org.apache.lucene.store.Directory, java.lang.String) method.

Throws:
IOException
Method Detail

clone

public Object clone()
Overrides:
clone in class Object

set

public final void set(int bit)
Sets the value of bit to one.


getAndSet

public final boolean getAndSet(int bit)
Sets the value of bit to true, and returns true if bit was already set


clear

public final void clear(int bit)
Sets the value of bit to zero.


get

public final boolean get(int bit)
Returns true if bit is one and false if it is zero.

Specified by:
get in interface Bits

size

public final int size()
Returns the number of bits in this vector. This is also one greater than the number of the largest valid bit number.


length

public final int length()
Returns the number of bits in this vector. This is also one greater than the number of the largest valid bit number.

Specified by:
length in interface Bits

count

public final int count()
Returns the total number of one bits in this vector. This is efficiently computed and cached, so that, if the vector is not changed, no recomputation is done for repeated calls.


getRecomputedCount

public final int getRecomputedCount()
For testing


write

public final void write(Directory d,
                        String name)
                 throws IOException
Writes this vector to the file name in Directory d, in a format that can be read by the constructor BitVector(Directory, String).

Throws:
IOException