Package org.rocksdb

Class RocksObject

All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
AbstractCompactionFilter, AbstractRocksIterator, AbstractWriteBatch, BackupEngine, BackupEngineOptions, Cache, Checkpoint, ColumnFamilyHandle, ColumnFamilyOptions, CompactionJobInfo, CompactionJobStats, CompactionOptions, CompactionOptionsFIFO, CompactionOptionsUniversal, CompactRangeOptions, ComparatorOptions, CompressionOptions, ConcurrentTaskLimiter, ConfigOptions, DBOptions, Env, EnvOptions, ExportImportFilesMetaData, Filter, FlushOptions, ImportColumnFamilyOptions, IngestExternalFileOptions, MergeOperator, OptimisticTransactionOptions, Options, PerfContext, PersistentCache, RateLimiter, ReadOptions, RestoreOptions, RocksDB, Snapshot, SstFileManager, SstFileReader, SstFileWriter, SstPartitionerFactory, Statistics, StdErrLogger, TablePropertiesCollectorFactory, Transaction, TransactionDBOptions, TransactionLogIterator, TransactionOptions, WriteBufferManager, WriteOptions

public abstract class RocksObject extends AbstractImmutableNativeReference
RocksObject is an implementation of AbstractNativeReference which has an immutable and therefore thread-safe reference to the underlying native C++ RocksDB object.

RocksObject is the base-class of almost all RocksDB classes that have a pointer to some underlying native C++ rocksdb object.

The use of RocksObject should always be preferred over RocksMutableObject.

  • Field Details

    • nativeHandle_

      protected final long nativeHandle_
      An immutable reference to the value of the C++ pointer pointing to some underlying native RocksDB C++ object.
  • Constructor Details

    • RocksObject

      protected RocksObject(long nativeHandle)
  • Method Details

    • disposeInternal

      protected void disposeInternal()
      Deletes underlying C++ object pointer.
      Specified by:
      disposeInternal in class AbstractImmutableNativeReference
    • disposeInternal

      protected abstract void disposeInternal(long handle)
    • getNativeHandle

      public long getNativeHandle()