Package org.apache.lucene.util

# Class BytesRefHash.BytesStartArray

java.lang.Object
org.apache.lucene.util.BytesRefHash.BytesStartArray

Direct Known Subclasses:
  `BytesRefHash.DirectBytesStartArray`

Enclosing class:
  `BytesRefHash`

public abstract static class BytesRefHash.BytesStartArray extends Object
Manages allocation of the per-term addresses.

## Constructor Summary

Constructors
Constructor
Description
`BytesStartArray()`

## Method Summary

Modifier and Type
Method
Description
`abstract Counter`
`bytesUsed()`
A `Counter` reference holding the number of bytes used by this `BytesRefHash.BytesStartArray`.
`abstract int[]`
`clear()`
clears the `BytesRefHash.BytesStartArray` and returns the cleared instance.
`abstract int[]`
`grow()`
Grows the `BytesRefHash.BytesStartArray`
`abstract int[]`
`init()`
Initializes the BytesStartArray.

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

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

## Constructor Details

### BytesStartArray

public BytesStartArray()

## Method Details

### init

public abstract int[] init()
Initializes the BytesStartArray. This call will allocate memory

Returns:
  the initialized bytes start array

### grow

public abstract int[] grow()
Grows the `BytesRefHash.BytesStartArray`

Returns:
  the grown array

### clear

public abstract int[] clear()
clears the `BytesRefHash.BytesStartArray` and returns the cleared instance.

Returns:
  the cleared instance, this might be `null`

### bytesUsed

public abstract Counter bytesUsed()
A `Counter` reference holding the number of bytes used by this `BytesRefHash.BytesStartArray`. The `BytesRefHash` uses this reference to track it memory usage

Returns:
  a `AtomicLong` reference holding the number of bytes used by this `BytesRefHash.BytesStartArray`.