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.
69 lines
2.0 KiB
69 lines
2.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;
|
|
|
|
/**
|
|
* Options to control the behavior of a database. It will be used
|
|
* during the creation of a RocksDB (i.e., RocksDB::Open()).
|
|
*
|
|
* Note that dispose() must be called before an Options instance
|
|
* become out-of-scope to release the allocated memory in c++.
|
|
*/
|
|
public class Options {
|
|
/**
|
|
* Construct options for opening a RocksDB.
|
|
*
|
|
* This constructor will create (by allocating a block of memory)
|
|
* an rocksdb::Options in the c++ side.
|
|
*/
|
|
public Options() {
|
|
nativeHandle_ = 0;
|
|
newOptions();
|
|
}
|
|
|
|
/**
|
|
* If this value is set to true, then the database will be created
|
|
* if it is missing during RocksDB::Open().
|
|
* Default: false
|
|
*
|
|
* @param flag a flag indicating whether to create a database the
|
|
* specified database in RocksDB::Open() operation is missing.
|
|
* @see RocksDB::Open()
|
|
*/
|
|
public void setCreateIfMissing(boolean flag) {
|
|
assert(nativeHandle_ != 0);
|
|
setCreateIfMissing(nativeHandle_, flag);
|
|
}
|
|
|
|
/**
|
|
* Return true if the create_if_missing flag is set to true.
|
|
* If true, the database will be created if it is missing.
|
|
*
|
|
* @return return true if the create_if_missing flag is set to true.
|
|
* @see setCreateIfMissing()
|
|
*/
|
|
public boolean craeteIfMissing() {
|
|
assert(nativeHandle_ != 0);
|
|
return createIfMissing(nativeHandle_);
|
|
}
|
|
|
|
/**
|
|
* Release the memory allocated for the current instance
|
|
* in the c++ side.
|
|
*/
|
|
public synchronized void dispose() {
|
|
if (nativeHandle_ != 0) {
|
|
dispose0();
|
|
}
|
|
}
|
|
|
|
private native void newOptions();
|
|
private native void dispose0();
|
|
private native void setCreateIfMissing(long handle, boolean flag);
|
|
private native boolean createIfMissing(long handle);
|
|
|
|
long nativeHandle_;
|
|
}
|
|
|