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::FilterPolicy.
8
9 #include <jni.h>
10
11 #include "include/org_rocksdb_IngestExternalFileOptions.h"
12 #include "rocksdb/options.h"
13
14 /*
15 * Class: org_rocksdb_IngestExternalFileOptions
16 * Method: newIngestExternalFileOptions
17 * Signature: ()J
18 */
Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__(JNIEnv *,jclass)19 jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__(
20 JNIEnv*, jclass) {
21 auto* options = new ROCKSDB_NAMESPACE::IngestExternalFileOptions();
22 return reinterpret_cast<jlong>(options);
23 }
24
25 /*
26 * Class: org_rocksdb_IngestExternalFileOptions
27 * Method: newIngestExternalFileOptions
28 * Signature: (ZZZZ)J
29 */
Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__ZZZZ(JNIEnv *,jclass,jboolean jmove_files,jboolean jsnapshot_consistency,jboolean jallow_global_seqno,jboolean jallow_blocking_flush)30 jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__ZZZZ(
31 JNIEnv*, jclass, jboolean jmove_files,
32 jboolean jsnapshot_consistency, jboolean jallow_global_seqno,
33 jboolean jallow_blocking_flush) {
34 auto* options = new ROCKSDB_NAMESPACE::IngestExternalFileOptions();
35 options->move_files = static_cast<bool>(jmove_files);
36 options->snapshot_consistency = static_cast<bool>(jsnapshot_consistency);
37 options->allow_global_seqno = static_cast<bool>(jallow_global_seqno);
38 options->allow_blocking_flush = static_cast<bool>(jallow_blocking_flush);
39 return reinterpret_cast<jlong>(options);
40 }
41
42 /*
43 * Class: org_rocksdb_IngestExternalFileOptions
44 * Method: moveFiles
45 * Signature: (J)Z
46 */
Java_org_rocksdb_IngestExternalFileOptions_moveFiles(JNIEnv *,jobject,jlong jhandle)47 jboolean Java_org_rocksdb_IngestExternalFileOptions_moveFiles(
48 JNIEnv*, jobject, jlong jhandle) {
49 auto* options =
50 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
51 return static_cast<jboolean>(options->move_files);
52 }
53
54 /*
55 * Class: org_rocksdb_IngestExternalFileOptions
56 * Method: setMoveFiles
57 * Signature: (JZ)V
58 */
Java_org_rocksdb_IngestExternalFileOptions_setMoveFiles(JNIEnv *,jobject,jlong jhandle,jboolean jmove_files)59 void Java_org_rocksdb_IngestExternalFileOptions_setMoveFiles(
60 JNIEnv*, jobject, jlong jhandle, jboolean jmove_files) {
61 auto* options =
62 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
63 options->move_files = static_cast<bool>(jmove_files);
64 }
65
66 /*
67 * Class: org_rocksdb_IngestExternalFileOptions
68 * Method: snapshotConsistency
69 * Signature: (J)Z
70 */
Java_org_rocksdb_IngestExternalFileOptions_snapshotConsistency(JNIEnv *,jobject,jlong jhandle)71 jboolean Java_org_rocksdb_IngestExternalFileOptions_snapshotConsistency(
72 JNIEnv*, jobject, jlong jhandle) {
73 auto* options =
74 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
75 return static_cast<jboolean>(options->snapshot_consistency);
76 }
77
78 /*
79 * Class: org_rocksdb_IngestExternalFileOptions
80 * Method: setSnapshotConsistency
81 * Signature: (JZ)V
82 */
Java_org_rocksdb_IngestExternalFileOptions_setSnapshotConsistency(JNIEnv *,jobject,jlong jhandle,jboolean jsnapshot_consistency)83 void Java_org_rocksdb_IngestExternalFileOptions_setSnapshotConsistency(
84 JNIEnv*, jobject, jlong jhandle, jboolean jsnapshot_consistency) {
85 auto* options =
86 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
87 options->snapshot_consistency = static_cast<bool>(jsnapshot_consistency);
88 }
89
90 /*
91 * Class: org_rocksdb_IngestExternalFileOptions
92 * Method: allowGlobalSeqNo
93 * Signature: (J)Z
94 */
Java_org_rocksdb_IngestExternalFileOptions_allowGlobalSeqNo(JNIEnv *,jobject,jlong jhandle)95 jboolean Java_org_rocksdb_IngestExternalFileOptions_allowGlobalSeqNo(
96 JNIEnv*, jobject, jlong jhandle) {
97 auto* options =
98 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
99 return static_cast<jboolean>(options->allow_global_seqno);
100 }
101
102 /*
103 * Class: org_rocksdb_IngestExternalFileOptions
104 * Method: setAllowGlobalSeqNo
105 * Signature: (JZ)V
106 */
Java_org_rocksdb_IngestExternalFileOptions_setAllowGlobalSeqNo(JNIEnv *,jobject,jlong jhandle,jboolean jallow_global_seqno)107 void Java_org_rocksdb_IngestExternalFileOptions_setAllowGlobalSeqNo(
108 JNIEnv*, jobject, jlong jhandle, jboolean jallow_global_seqno) {
109 auto* options =
110 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
111 options->allow_global_seqno = static_cast<bool>(jallow_global_seqno);
112 }
113
114 /*
115 * Class: org_rocksdb_IngestExternalFileOptions
116 * Method: allowBlockingFlush
117 * Signature: (J)Z
118 */
Java_org_rocksdb_IngestExternalFileOptions_allowBlockingFlush(JNIEnv *,jobject,jlong jhandle)119 jboolean Java_org_rocksdb_IngestExternalFileOptions_allowBlockingFlush(
120 JNIEnv*, jobject, jlong jhandle) {
121 auto* options =
122 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
123 return static_cast<jboolean>(options->allow_blocking_flush);
124 }
125
126 /*
127 * Class: org_rocksdb_IngestExternalFileOptions
128 * Method: setAllowBlockingFlush
129 * Signature: (JZ)V
130 */
Java_org_rocksdb_IngestExternalFileOptions_setAllowBlockingFlush(JNIEnv *,jobject,jlong jhandle,jboolean jallow_blocking_flush)131 void Java_org_rocksdb_IngestExternalFileOptions_setAllowBlockingFlush(
132 JNIEnv*, jobject, jlong jhandle, jboolean jallow_blocking_flush) {
133 auto* options =
134 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
135 options->allow_blocking_flush = static_cast<bool>(jallow_blocking_flush);
136 }
137
138 /*
139 * Class: org_rocksdb_IngestExternalFileOptions
140 * Method: ingestBehind
141 * Signature: (J)Z
142 */
Java_org_rocksdb_IngestExternalFileOptions_ingestBehind(JNIEnv *,jobject,jlong jhandle)143 jboolean Java_org_rocksdb_IngestExternalFileOptions_ingestBehind(
144 JNIEnv*, jobject, jlong jhandle) {
145 auto* options =
146 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
147 return options->ingest_behind == JNI_TRUE;
148 }
149
150 /*
151 * Class: org_rocksdb_IngestExternalFileOptions
152 * Method: setIngestBehind
153 * Signature: (JZ)V
154 */
Java_org_rocksdb_IngestExternalFileOptions_setIngestBehind(JNIEnv *,jobject,jlong jhandle,jboolean jingest_behind)155 void Java_org_rocksdb_IngestExternalFileOptions_setIngestBehind(
156 JNIEnv*, jobject, jlong jhandle, jboolean jingest_behind) {
157 auto* options =
158 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
159 options->ingest_behind = jingest_behind == JNI_TRUE;
160 }
161
162 /*
163 * Class: org_rocksdb_IngestExternalFileOptions
164 * Method: writeGlobalSeqno
165 * Signature: (J)Z
166 */
Java_org_rocksdb_IngestExternalFileOptions_writeGlobalSeqno(JNIEnv *,jobject,jlong jhandle)167 JNIEXPORT jboolean JNICALL Java_org_rocksdb_IngestExternalFileOptions_writeGlobalSeqno(
168 JNIEnv*, jobject, jlong jhandle) {
169 auto* options =
170 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
171 return options->write_global_seqno == JNI_TRUE;
172 }
173
174 /*
175 * Class: org_rocksdb_IngestExternalFileOptions
176 * Method: setWriteGlobalSeqno
177 * Signature: (JZ)V
178 */
Java_org_rocksdb_IngestExternalFileOptions_setWriteGlobalSeqno(JNIEnv *,jobject,jlong jhandle,jboolean jwrite_global_seqno)179 JNIEXPORT void JNICALL Java_org_rocksdb_IngestExternalFileOptions_setWriteGlobalSeqno(
180 JNIEnv*, jobject, jlong jhandle, jboolean jwrite_global_seqno) {
181 auto* options =
182 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
183 options->write_global_seqno = jwrite_global_seqno == JNI_TRUE;
184 }
185
186 /*
187 * Class: org_rocksdb_IngestExternalFileOptions
188 * Method: disposeInternal
189 * Signature: (J)V
190 */
Java_org_rocksdb_IngestExternalFileOptions_disposeInternal(JNIEnv *,jobject,jlong jhandle)191 void Java_org_rocksdb_IngestExternalFileOptions_disposeInternal(
192 JNIEnv*, jobject, jlong jhandle) {
193 auto* options =
194 reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
195 delete options;
196 }
197