1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under the BSD-style license found in the
3 // LICENSE file in the root directory of this source tree. An additional grant
4 // of patent rights can be found in the PATENTS file in the same directory.
6 // This file implements the "bridge" between Java and C++ for
7 // rocksdb::CompactionOptionsUniversal.
11 #include "include/org_rocksdb_CompactionOptionsUniversal.h"
12 #include "rocksdb/advanced_options.h"
13 #include "rocksjni/portal.h"
16 * Class: org_rocksdb_CompactionOptionsUniversal
17 * Method: newCompactionOptionsUniversal
20 jlong
Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(
21 JNIEnv
* env
, jclass jcls
) {
22 const auto* opt
= new rocksdb::CompactionOptionsUniversal();
23 return reinterpret_cast<jlong
>(opt
);
27 * Class: org_rocksdb_CompactionOptionsUniversal
28 * Method: setSizeRatio
31 void Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(
32 JNIEnv
* env
, jobject jobj
, jlong jhandle
, jint jsize_ratio
) {
33 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
34 opt
->size_ratio
= static_cast<unsigned int>(jsize_ratio
);
38 * Class: org_rocksdb_CompactionOptionsUniversal
42 jint
Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(
43 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
44 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
45 return static_cast<jint
>(opt
->size_ratio
);
49 * Class: org_rocksdb_CompactionOptionsUniversal
50 * Method: setMinMergeWidth
53 void Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(
54 JNIEnv
* env
, jobject jobj
, jlong jhandle
, jint jmin_merge_width
) {
55 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
56 opt
->min_merge_width
= static_cast<unsigned int>(jmin_merge_width
);
60 * Class: org_rocksdb_CompactionOptionsUniversal
61 * Method: minMergeWidth
64 jint
Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(
65 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
66 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
67 return static_cast<jint
>(opt
->min_merge_width
);
71 * Class: org_rocksdb_CompactionOptionsUniversal
72 * Method: setMaxMergeWidth
75 void Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(
76 JNIEnv
* env
, jobject jobj
, jlong jhandle
, jint jmax_merge_width
) {
77 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
78 opt
->max_merge_width
= static_cast<unsigned int>(jmax_merge_width
);
82 * Class: org_rocksdb_CompactionOptionsUniversal
83 * Method: maxMergeWidth
86 jint
Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(
87 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
88 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
89 return static_cast<jint
>(opt
->max_merge_width
);
93 * Class: org_rocksdb_CompactionOptionsUniversal
94 * Method: setMaxSizeAmplificationPercent
97 void Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(
98 JNIEnv
* env
, jobject jobj
, jlong jhandle
,
99 jint jmax_size_amplification_percent
) {
100 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
101 opt
->max_size_amplification_percent
=
102 static_cast<unsigned int>(jmax_size_amplification_percent
);
106 * Class: org_rocksdb_CompactionOptionsUniversal
107 * Method: maxSizeAmplificationPercent
110 jint
Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(
111 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
112 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
113 return static_cast<jint
>(opt
->max_size_amplification_percent
);
117 * Class: org_rocksdb_CompactionOptionsUniversal
118 * Method: setCompressionSizePercent
121 void Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(
122 JNIEnv
* env
, jobject jobj
, jlong jhandle
, jint jcompression_size_percent
) {
123 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
124 opt
->compression_size_percent
=
125 static_cast<unsigned int>(jcompression_size_percent
);
129 * Class: org_rocksdb_CompactionOptionsUniversal
130 * Method: compressionSizePercent
133 jint
Java_org_rocksdb_CompactionOptionsUniversal_compressionSizePercent(
134 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
135 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
136 return static_cast<jint
>(opt
->compression_size_percent
);
140 * Class: org_rocksdb_CompactionOptionsUniversal
141 * Method: setStopStyle
144 void Java_org_rocksdb_CompactionOptionsUniversal_setStopStyle(
145 JNIEnv
* env
, jobject jobj
, jlong jhandle
, jbyte jstop_style_value
) {
146 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
148 rocksdb::CompactionStopStyleJni::toCppCompactionStopStyle(
153 * Class: org_rocksdb_CompactionOptionsUniversal
157 jbyte
Java_org_rocksdb_CompactionOptionsUniversal_stopStyle(
158 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
159 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
160 return rocksdb::CompactionStopStyleJni::toJavaCompactionStopStyle(
165 * Class: org_rocksdb_CompactionOptionsUniversal
166 * Method: setAllowTrivialMove
169 void Java_org_rocksdb_CompactionOptionsUniversal_setAllowTrivialMove(
170 JNIEnv
* env
, jobject jobj
, jlong jhandle
, jboolean jallow_trivial_move
) {
171 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
172 opt
->allow_trivial_move
= static_cast<bool>(jallow_trivial_move
);
176 * Class: org_rocksdb_CompactionOptionsUniversal
177 * Method: allowTrivialMove
180 jboolean
Java_org_rocksdb_CompactionOptionsUniversal_allowTrivialMove(
181 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
182 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);
183 return opt
->allow_trivial_move
;
187 * Class: org_rocksdb_CompactionOptionsUniversal
188 * Method: disposeInternal
191 void Java_org_rocksdb_CompactionOptionsUniversal_disposeInternal(
192 JNIEnv
* env
, jobject jobj
, jlong jhandle
) {
193 delete reinterpret_cast<rocksdb::CompactionOptionsUniversal
*>(jhandle
);