Package 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)`

## Field Summary

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

`NULL_ACCOUNTABLE`

## Method Summary

Modifier and Type
Method
Description
`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.
`byte`
`getByte(long o)`
Get the byte at the given offset.
`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 Details

### 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.

### getByte

public byte getByte(long o)
Get the byte at the given offset.

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`