fork of https://github.com/oxigraph/rocksdb and https://github.com/facebook/rocksdb for nextgraph and oxigraph
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
package org.rocksdb;
|
|
|
|
/**
|
|
* RocksObject is the base-class of all RocksDB related class that has
|
|
* a pointer to some c++ rocksdb object. Although RocksObject
|
|
* will release its c++ resource on its finalize() once it has been
|
|
* garbage-collected, it is suggested to call dispose() manually to
|
|
* release its c++ resource once an instance of RocksObject is no
|
|
* longer used.
|
|
*/
|
|
public abstract class RocksObject {
|
|
protected RocksObject() {
|
|
nativeHandle_ = 0;
|
|
}
|
|
|
|
/**
|
|
* Release the c++ object pointed by the native handle.
|
|
*/
|
|
public abstract void dispose();
|
|
|
|
protected boolean isInitialized() {
|
|
return (nativeHandle_ != 0);
|
|
}
|
|
|
|
@Override protected void finalize() {
|
|
dispose();
|
|
}
|
|
|
|
protected long nativeHandle_;
|
|
}
|
|
|