- java.lang.Object
-
- org.apache.lucene.util.fst.OnHeapFSTStore
-
- All Implemented Interfaces:
Accountable
,FSTReader
,FSTStore
public final class OnHeapFSTStore extends java.lang.Object implements FSTStore
Provides storage of finite state machine (FST), using byte array or byte store allocated on heap.
-
-
Field Summary
Fields Modifier and Type Field Description private static long
BASE_RAM_BYTES_USED
private byte[]
bytesArray
Used at read time when the FST fits into a single byte[].private ReadWriteDataOutput
dataOutput
AReadWriteDataOutput
, used during reading when the FST is very large (more than 1 GB).private int
maxBlockBits
-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Constructor Description OnHeapFSTStore(int maxBlockBits)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FST.BytesReader
getReverseBytesReader()
Get the reverse BytesReader for this FSTFSTStore
init(DataInput in, long numBytes)
Initialize the FSTStorelong
ramBytesUsed()
Return the memory usage of this object in bytes.void
writeTo(DataOutput out)
Write this FST to another DataOutput-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
-
-
-
Field Detail
-
BASE_RAM_BYTES_USED
private static final long BASE_RAM_BYTES_USED
-
dataOutput
private ReadWriteDataOutput dataOutput
AReadWriteDataOutput
, used during reading when the FST is very large (more than 1 GB). If the FST is less than 1 GB then bytesArray is set instead.
-
bytesArray
private byte[] bytesArray
Used at read time when the FST fits into a single byte[].
-
maxBlockBits
private final int maxBlockBits
-
-
Method Detail
-
init
public FSTStore init(DataInput in, long numBytes) throws java.io.IOException
Description copied from interface:FSTStore
Initialize the FSTStore
-
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 interfaceAccountable
-
getReverseBytesReader
public FST.BytesReader getReverseBytesReader()
Description copied from interface:FSTReader
Get the reverse BytesReader for this FST- Specified by:
getReverseBytesReader
in interfaceFSTReader
- Returns:
- the reverse BytesReader
-
writeTo
public void writeTo(DataOutput out) throws java.io.IOException
Description copied from interface:FSTReader
Write this FST to another DataOutput
-
-