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`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected long` `baseRamBytesUsed()`
`protected void` `fillPages()`
`long` `get(long index)` Get value at `index`.
`T` `grow()` Similar to `ArrayUtil.grow(long[])`.
`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.
`T` `resize(long newSize)` Create a new copy of size `newSize` based on the content of this buffer.
`void` `set(long index, long value)` Set value at `index`.
`long` `size()` The number of values.
`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

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