Package mondrian.rolap
Class BitKey.AbstractBitKey
- java.lang.Object
-
- mondrian.rolap.BitKey.AbstractBitKey
-
- All Implemented Interfaces:
Serializable
,Comparable<BitKey>
,Iterable<Integer>
,BitKey
- Direct Known Subclasses:
BitKey.Big
,BitKey.Mid128
,BitKey.Small
- Enclosing interface:
- BitKey
public abstract static class BitKey.AbstractBitKey extends Object implements BitKey
Abstract implementation ofBitKey
.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface mondrian.rolap.BitKey
BitKey.AbstractBitKey, BitKey.Big, BitKey.Factory, BitKey.Mid128, BitKey.Small
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
ChunkBitCount
protected static int
Mask
protected static long
WORD_MASK
-
Fields inherited from interface mondrian.rolap.BitKey
bitPositionTable, EMPTY
-
-
Constructor Summary
Constructors Constructor Description AbstractBitKey()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static long
bit(int pos)
Creates a chunk containing a single bit.protected static int
bitCount(long i)
Returns the number of one-bits in the two's complement binary representation of the specified long value.protected static int
chunkCount(int size)
Returns the number of chunks required for a given number of bits.protected static int
chunkPos(int size)
Returns which chunk a given bit falls into.protected static void
copyFromByte(BitSet bitSet, int pos, byte x)
Copies a byte into a bit set at a particular position.protected static void
copyFromLong(BitSet bitSet, int pos, long x)
Copies along
value (interpreted as 64 bits) into a bit set.protected IllegalArgumentException
createException(BitKey bitKey)
void
set(int pos, boolean value)
Sets the bit at the specified index to the specified value.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface mondrian.rolap.BitKey
and, andNot, cardinality, clear, clear, copy, emptyCopy, get, intersects, isEmpty, isSuperSetOf, iterator, nextSetBit, or, orNot, set, toBitSet
-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
ChunkBitCount
protected static final int ChunkBitCount
- See Also:
- Constant Field Values
-
Mask
protected static final int Mask
- See Also:
- Constant Field Values
-
WORD_MASK
protected static final long WORD_MASK
- See Also:
- Constant Field Values
-
-
Method Detail
-
bit
protected static long bit(int pos)
Creates a chunk containing a single bit.
-
chunkPos
protected static int chunkPos(int size)
Returns which chunk a given bit falls into. Bits 0 to 63 fall in chunk 0, bits 64 to 127 fall into chunk 1.
-
chunkCount
protected static int chunkCount(int size)
Returns the number of chunks required for a given number of bits.0 bits requires 0 chunks; 1 - 64 bits requires 1 chunk; etc.
-
bitCount
protected static int bitCount(long i)
Returns the number of one-bits in the two's complement binary representation of the specified long value. This function is sometimes referred to as the population count.(Copied from
Long.bitCount(long)
, which was introduced in JDK 1.5, but we need the functionality in JDK 1.4.)- Returns:
- the number of one-bits in the two's complement binary representation of the specified long value.
- Since:
- 1.5
-
set
public final void set(int pos, boolean value)
Description copied from interface:BitKey
Sets the bit at the specified index to the specified value.
-
copyFromByte
protected static void copyFromByte(BitSet bitSet, int pos, byte x)
Copies a byte into a bit set at a particular position.- Parameters:
bitSet
- Bit setpos
- Positionx
- Byte
-
copyFromLong
protected static void copyFromLong(BitSet bitSet, int pos, long x)
Copies along
value (interpreted as 64 bits) into a bit set.- Parameters:
bitSet
- Bit setpos
- Positionx
- Byte
-
createException
protected IllegalArgumentException createException(BitKey bitKey)
-
-