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 //
6 // This file implements the "bridge" between Java and C++ for
7 // ROCKSDB_NAMESPACE::CompactionOptionsUniversal.
8
9 #include <jni.h>
10
11 #include "include/org_rocksdb_CompactionOptionsUniversal.h"
12 #include "rocksdb/advanced_options.h"
13 #include "rocksjni/portal.h"
14
15 /*
16 * Class: org_rocksdb_CompactionOptionsUniversal
17 * Method: newCompactionOptionsUniversal
18 * Signature: ()J
19 */
Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(JNIEnv *,jclass)20 jlong Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(
21 JNIEnv*, jclass) {
22 const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsUniversal();
23 return reinterpret_cast<jlong>(opt);
24 }
25
26 /*
27 * Class: org_rocksdb_CompactionOptionsUniversal
28 * Method: setSizeRatio
29 * Signature: (JI)V
30 */
Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(JNIEnv *,jobject,jlong jhandle,jint jsize_ratio)31 void Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(
32 JNIEnv*, jobject, jlong jhandle, jint jsize_ratio) {
33 auto* opt =
34 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
35 opt->size_ratio = static_cast<unsigned int>(jsize_ratio);
36 }
37
38 /*
39 * Class: org_rocksdb_CompactionOptionsUniversal
40 * Method: sizeRatio
41 * Signature: (J)I
42 */
Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(JNIEnv *,jobject,jlong jhandle)43 jint Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(
44 JNIEnv*, jobject, jlong jhandle) {
45 auto* opt =
46 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
47 return static_cast<jint>(opt->size_ratio);
48 }
49
50 /*
51 * Class: org_rocksdb_CompactionOptionsUniversal
52 * Method: setMinMergeWidth
53 * Signature: (JI)V
54 */
Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(JNIEnv *,jobject,jlong jhandle,jint jmin_merge_width)55 void Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(
56 JNIEnv*, jobject, jlong jhandle, jint jmin_merge_width) {
57 auto* opt =
58 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
59 opt->min_merge_width = static_cast<unsigned int>(jmin_merge_width);
60 }
61
62 /*
63 * Class: org_rocksdb_CompactionOptionsUniversal
64 * Method: minMergeWidth
65 * Signature: (J)I
66 */
Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(JNIEnv *,jobject,jlong jhandle)67 jint Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(
68 JNIEnv*, jobject, jlong jhandle) {
69 auto* opt =
70 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
71 return static_cast<jint>(opt->min_merge_width);
72 }
73
74 /*
75 * Class: org_rocksdb_CompactionOptionsUniversal
76 * Method: setMaxMergeWidth
77 * Signature: (JI)V
78 */
Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(JNIEnv *,jobject,jlong jhandle,jint jmax_merge_width)79 void Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(
80 JNIEnv*, jobject, jlong jhandle, jint jmax_merge_width) {
81 auto* opt =
82 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
83 opt->max_merge_width = static_cast<unsigned int>(jmax_merge_width);
84 }
85
86 /*
87 * Class: org_rocksdb_CompactionOptionsUniversal
88 * Method: maxMergeWidth
89 * Signature: (J)I
90 */
Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(JNIEnv *,jobject,jlong jhandle)91 jint Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(
92 JNIEnv*, jobject, jlong jhandle) {
93 auto* opt =
94 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
95 return static_cast<jint>(opt->max_merge_width);
96 }
97
98 /*
99 * Class: org_rocksdb_CompactionOptionsUniversal
100 * Method: setMaxSizeAmplificationPercent
101 * Signature: (JI)V
102 */
Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(JNIEnv *,jobject,jlong jhandle,jint jmax_size_amplification_percent)103 void Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(
104 JNIEnv*, jobject, jlong jhandle, jint jmax_size_amplification_percent) {
105 auto* opt =
106 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
107 opt->max_size_amplification_percent =
108 static_cast<unsigned int>(jmax_size_amplification_percent);
109 }
110
111 /*
112 * Class: org_rocksdb_CompactionOptionsUniversal
113 * Method: maxSizeAmplificationPercent
114 * Signature: (J)I
115 */
Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(JNIEnv *,jobject,jlong jhandle)116 jint Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(
117 JNIEnv*, jobject, jlong jhandle) {
118 auto* opt =
119 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
120 return static_cast<jint>(opt->max_size_amplification_percent);
121 }
122
123 /*
124 * Class: org_rocksdb_CompactionOptionsUniversal
125 * Method: setCompressionSizePercent
126 * Signature: (JI)V
127 */
Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(JNIEnv *,jobject,jlong jhandle,jint jcompression_size_percent)128 void Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(
129 JNIEnv*, jobject, jlong jhandle,
130 jint jcompression_size_percent) {
131 auto* opt =
132 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
133 opt->compression_size_percent =
134 static_cast<unsigned int>(jcompression_size_percent);
135 }
136
137 /*
138 * Class: org_rocksdb_CompactionOptionsUniversal
139 * Method: compressionSizePercent
140 * Signature: (J)I
141 */
Java_org_rocksdb_CompactionOptionsUniversal_compressionSizePercent(JNIEnv *,jobject,jlong jhandle)142 jint Java_org_rocksdb_CompactionOptionsUniversal_compressionSizePercent(
143 JNIEnv*, jobject, jlong jhandle) {
144 auto* opt =
145 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
146 return static_cast<jint>(opt->compression_size_percent);
147 }
148
149 /*
150 * Class: org_rocksdb_CompactionOptionsUniversal
151 * Method: setStopStyle
152 * Signature: (JB)V
153 */
Java_org_rocksdb_CompactionOptionsUniversal_setStopStyle(JNIEnv *,jobject,jlong jhandle,jbyte jstop_style_value)154 void Java_org_rocksdb_CompactionOptionsUniversal_setStopStyle(
155 JNIEnv*, jobject, jlong jhandle, jbyte jstop_style_value) {
156 auto* opt =
157 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
158 opt->stop_style =
159 ROCKSDB_NAMESPACE::CompactionStopStyleJni::toCppCompactionStopStyle(
160 jstop_style_value);
161 }
162
163 /*
164 * Class: org_rocksdb_CompactionOptionsUniversal
165 * Method: stopStyle
166 * Signature: (J)B
167 */
Java_org_rocksdb_CompactionOptionsUniversal_stopStyle(JNIEnv *,jobject,jlong jhandle)168 jbyte Java_org_rocksdb_CompactionOptionsUniversal_stopStyle(
169 JNIEnv*, jobject, jlong jhandle) {
170 auto* opt =
171 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
172 return ROCKSDB_NAMESPACE::CompactionStopStyleJni::toJavaCompactionStopStyle(
173 opt->stop_style);
174 }
175
176 /*
177 * Class: org_rocksdb_CompactionOptionsUniversal
178 * Method: setAllowTrivialMove
179 * Signature: (JZ)V
180 */
Java_org_rocksdb_CompactionOptionsUniversal_setAllowTrivialMove(JNIEnv *,jobject,jlong jhandle,jboolean jallow_trivial_move)181 void Java_org_rocksdb_CompactionOptionsUniversal_setAllowTrivialMove(
182 JNIEnv*, jobject, jlong jhandle, jboolean jallow_trivial_move) {
183 auto* opt =
184 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
185 opt->allow_trivial_move = static_cast<bool>(jallow_trivial_move);
186 }
187
188 /*
189 * Class: org_rocksdb_CompactionOptionsUniversal
190 * Method: allowTrivialMove
191 * Signature: (J)Z
192 */
Java_org_rocksdb_CompactionOptionsUniversal_allowTrivialMove(JNIEnv *,jobject,jlong jhandle)193 jboolean Java_org_rocksdb_CompactionOptionsUniversal_allowTrivialMove(
194 JNIEnv*, jobject, jlong jhandle) {
195 auto* opt =
196 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
197 return opt->allow_trivial_move;
198 }
199
200 /*
201 * Class: org_rocksdb_CompactionOptionsUniversal
202 * Method: disposeInternal
203 * Signature: (J)V
204 */
Java_org_rocksdb_CompactionOptionsUniversal_disposeInternal(JNIEnv *,jobject,jlong jhandle)205 void Java_org_rocksdb_CompactionOptionsUniversal_disposeInternal(
206 JNIEnv*, jobject, jlong jhandle) {
207 delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(
208 jhandle);
209 }
210