Package org.apache.lucene.util.packed

# Class AbstractPagedMutable<T extends AbstractPagedMutable<T>>

java.lang.Object
org.apache.lucene.util.LongValues
org.apache.lucene.util.packed.AbstractPagedMutable<T>

All Implemented Interfaces:
  `Accountable`

Direct Known Subclasses:
  `PagedGrowableWriter`, `PagedMutable`

public abstract class AbstractPagedMutable<T extends AbstractPagedMutable<T>> extends LongValues implements Accountable
Base implementation for `PagedMutable` and `PagedGrowableWriter`.

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

## Field Summary

### Fields inherited from class org.apache.lucene.util.LongValues

`IDENTITY, ZEROES`

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

`NULL_ACCOUNTABLE`

## Method Summary

Modifier and Type
Method
Description
`protected long`
`baseRamBytesUsed()`
`protected final void`
`fillPages()`
`final long`
`get(long index)`
Get value at `index`.
`final T`
`grow()`
Similar to `ArrayUtil.grow(long[])`.
`final T`
`grow(long minSize)`
Similar to `ArrayUtil.grow(long[], int)`.
`protected abstract PackedInts.Mutable`
`newMutable(int valueCount, int bitsPerValue)`
`protected abstract T`
`newUnfilledCopy(long newSize)`
`long`
`ramBytesUsed()`
Return the memory usage of this object in bytes.
`final T`
`resize(long newSize)`
Create a new copy of size `newSize` based on the content of this buffer.
`final void`
`set(long index, long value)`
Set value at `index`.
`final long`
`size()`
The number of values.
`final 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

### fillPages

protected final void fillPages()

### newMutable

protected abstract PackedInts.Mutable newMutable(int valueCount, int bitsPerValue)

### size

public final long size()
The number of values.

### get

public final long get(long index)
Description copied from class: `LongValues`
Get value at `index`.

Specified by:
  `get` in class `LongValues`

### set

public final void set(long index, long value)
Set value at `index`.

### baseRamBytesUsed

protected long baseRamBytesUsed()

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

### newUnfilledCopy

protected abstract T newUnfilledCopy(long newSize)

### resize

public final T resize(long newSize)
Create a new copy of size `newSize` based on the content of this buffer. This method is much more efficient than creating a new instance and copying values one by one.

### grow

public final T grow(long minSize)
Similar to `ArrayUtil.grow(long[], int)`.

### grow

public final T grow()
Similar to `ArrayUtil.grow(long[])`.

### toString

public final String toString()

Overrides:
  `toString` in class `Object`