org.apache.lucene.util

## Class PagedBytes.Reader

- java.lang.Object
- - org.apache.lucene.util.PagedBytes.Reader

All Implemented Interfaces:
  Accountable

Enclosing class:
  PagedBytes

    public static final class PagedBytes.Reader
    extends Object
    implements Accountable

Provides methods to read BytesRefs from a frozen PagedBytes.

See Also:
  `PagedBytes.freeze(boolean)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `fill(BytesRef b, long start)` Reads length as 1 or 2 byte vInt prefix, starting at start.
`void` `fillSlice(BytesRef b, long start, int length)` Gets a slice out of `PagedBytes` starting at start with a given length.
`long` `ramBytesUsed()` Return the memory usage of this object in bytes.
`String` `toString()`

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

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

### Methods inherited from interface org.apache.lucene.util.Accountable

`getChildResources`

### Method Detail

#### fillSlice

    public void fillSlice(BytesRef b,
                          long start,
                          int length)

Gets a slice out of `PagedBytes` starting at start with a given length. Iff the slice spans across a block border this method will allocate sufficient resources and copy the paged data.

Slices spanning more than two blocks are not supported.

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

#### fill

    public void fill(BytesRef b,
                     long start)

Reads length as 1 or 2 byte vInt prefix, starting at start.

Note: this method does not support slices spanning across block borders.

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

#### ramBytesUsed

    public long ramBytesUsed()

Description copied from interface: `Accountable`
Return the memory usage of this object in bytes. Negative values are illegal.

Specified by:
  `ramBytesUsed` in interface `Accountable`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`