1 // Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
2 //  This source code is licensed under both the GPLv2 (found in the
3 //  COPYING file in the root directory) and Apache 2.0 License
4 //  (found in the LICENSE.Apache file in the root directory).
5 package org.rocksdb;
6 
7 /**
8  * TableFormatConfig is used to config the internal Table format of a RocksDB.
9  * To make a RocksDB to use a specific Table format, its associated
10  * TableFormatConfig should be properly set and passed into Options via
11  * Options.setTableFormatConfig() and open the db using that Options.
12  */
13 public abstract class TableFormatConfig {
14   /**
15    * <p>This function should only be called by Options.setTableFormatConfig(),
16    * which will create a c++ shared-pointer to the c++ TableFactory
17    * that associated with the Java TableFormatConfig.</p>
18    *
19    * @return native handle address to native table instance.
20    */
newTableFactoryHandle()21   abstract protected long newTableFactoryHandle();
22 }
23