org.apache.lucene.util.packed

## Class PackedInts.NullReader

- java.lang.Object
- - org.apache.lucene.util.packed.PackedInts.NullReader

All Implemented Interfaces:
  PackedInts.Reader

Enclosing class:
  PackedInts

    public static final class PackedInts.NullReader
    extends Object
    implements PackedInts.Reader

A `PackedInts.Reader` which has all its values equal to 0 (bitsPerValue = 0).

### Constructor Summary

Constructors
Constructor and Description
`PackedInts.NullReader(int valueCount)` Sole constructor.

### Method Summary

Methods
`long` `get(int index)`
`int` `get(int index, long[] arr, int off, int len)` Bulk get: read at least one and at most `len` longs starting from `index` into `arr[off:off+len]` and return the actual number of values that have been read.
`Object` `getArray()` Expert: if the bit-width of this reader matches one of java's native types, returns the underlying array (ie, byte[], short[], int[], long[]); else, returns null.
`int` `getBitsPerValue()`
`boolean` `hasArray()` Returns true if this implementation is backed by a native java array.
`long` `ramBytesUsed()` Return the in-memory size in bytes.
`int` `size()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PackedInts.NullReader

    public PackedInts.NullReader(int valueCount)

Sole constructor.

### Method Detail

#### get

    public long get(int index)

Specified by:
  `get` in interface `PackedInts.Reader`
Parameters:
  `index` - the position of the wanted value.
Returns:
  the value at the stated index.

#### get

    public int get(int index,
          long[] arr,
          int off,
          int len)

Description copied from interface: `PackedInts.Reader`
Bulk get: read at least one and at most `len` longs starting from `index` into `arr[off:off+len]` and return the actual number of values that have been read.

Specified by:
  `get` in interface `PackedInts.Reader`

#### getBitsPerValue

    public int getBitsPerValue()

Specified by:
  `getBitsPerValue` in interface `PackedInts.Reader`
Returns:
  the number of bits used to store any given value. Note: This does not imply that memory usage is `bitsPerValue * #values` as implementations are free to use non-space-optimal packing of bits.

#### size

    public int size()

Specified by:
  `size` in interface `PackedInts.Reader`
Returns:
  the number of values.

#### ramBytesUsed

    public long ramBytesUsed()

Description copied from interface: `PackedInts.Reader`
Return the in-memory size in bytes.

Specified by:
  `ramBytesUsed` in interface `PackedInts.Reader`

#### getArray

    public Object getArray()

Description copied from interface: `PackedInts.Reader`
Expert: if the bit-width of this reader matches one of java's native types, returns the underlying array (ie, byte[], short[], int[], long[]); else, returns null. Note that when accessing the array you must upgrade the type (bitwise AND with all ones), to interpret the full value as unsigned. Ie, bytes[idx]&0xFF, shorts[idx]&0xFFFF, etc.

Specified by:
  `getArray` in interface `PackedInts.Reader`

#### hasArray

    public boolean hasArray()

Description copied from interface: `PackedInts.Reader`
Returns true if this implementation is backed by a native java array.

Specified by:
  `hasArray` in interface `PackedInts.Reader`
See Also:
  `PackedInts.Reader.getArray()`