if ((*env)->IsInstanceOf(env, obj, jEJDBQueryClazz)) {
jfieldID collID = (*env)->GetFieldID(env, jEJDBQueryClazz, "coll", "Lorg/ejdb/driver/EJDBCollection;");
obj = (*env)->GetObjectField(env, obj, collID);
+
+ if (NULL == obj) {
+ return 0;
+ }
}
jclass jEJDBCollectionClazz = (*env)->FindClass(env, "org/ejdb/driver/EJDBCollection");
if ((*env)->IsInstanceOf(env, obj, jEJDBCollectionClazz)) {
jfieldID dbID = (*env)->GetFieldID(env, jEJDBCollectionClazz, "db", "Lorg/ejdb/driver/EJDB;");
obj = (*env)->GetObjectField(env, obj, dbID);
+
+ if (NULL == obj) {
+ return 0;
+ }
}
jclass jEJDBClazz = (*env)->FindClass(env, "org/ejdb/driver/EJDB");
/*
* Class: org_ejdb_driver_EJDB
-* Method: openDB
+* Method: open
* Signature: (Ljava/lang/String;I)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_openDB (JNIEnv *env, jobject obj, jstring path, jint mode) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_open (JNIEnv *env, jobject obj, jstring path, jint mode) {
EJDB* db = ejdbnew();
if (!db) {
/*
* Class: org_ejdb_driver_EJDB
-* Method: isOpenDB
+* Method: isOpen
* Signature: ()Z
*/
-JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpenDB (JNIEnv *env, jobject obj) {
+JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpen (JNIEnv *env, jobject obj) {
return ejdbisopen(get_ejdb_from_object(env, obj));
};
/*
* Class: org_ejdb_driver_EJDB
-* Method: closeDB
+* Method: close
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_closeDB (JNIEnv *env, jobject obj) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_close (JNIEnv *env, jobject obj) {
EJDB* db = get_ejdb_from_object(env, obj);
if (ejdbisopen(db)) {
/*
* Class: org_ejdb_driver_EJDB
-* Method: syncDB
+* Method: sync
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_syncDB (JNIEnv *env, jobject obj) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_sync (JNIEnv *env, jobject obj) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
-* Method: ensureDB
+* Method: ensureExists
* Signature: (Lorg/ejdb/driver/EJDBCollection$Options;)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureDB (JNIEnv *env, jobject obj, jobject opts) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureExists (JNIEnv *env, jobject obj, jobject opts) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
-* Method: dropDB
+* Method: drop
* Signature: (Z)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_dropDB (JNIEnv *env, jobject obj, jboolean prune) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_drop (JNIEnv *env, jobject obj, jboolean prune) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
-* Method: syncDB
+* Method: sync
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_syncDB (JNIEnv *env, jobject obj) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_sync (JNIEnv *env, jobject obj) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: loadDB
+ * Method: load
* Signature: (Lorg/bson/types/ObjectId;)Lorg/bson/BSONObject;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_loadDB (JNIEnv *env, jobject obj, jobject joid) {
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_load (JNIEnv *env, jobject obj, jobject joid) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: saveDB
+ * Method: save
* Signature: (Lorg/bson/BSONObject;)Lorg/bson/types/ObjectId;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_saveDB (JNIEnv *env, jobject obj, jobject jdata) {
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_save (JNIEnv *env, jobject obj, jobject jdata) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: removeDB
+ * Method: remove
* Signature: (Lorg/bson/types/ObjectId;)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_removeDB (JNIEnv *env, jobject obj, jobject joid) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_remove (JNIEnv *env, jobject obj, jobject joid) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBCollection
-* Method: setIndexDB
+* Method: setIndex
* Signature: (Ljava/lang/String;I)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndexDB (JNIEnv *env, jobject obj, jstring pathstr, jint flags) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndex (JNIEnv *env, jobject obj, jstring pathstr, jint flags) {
EJDB* db = get_ejdb_from_object(env, obj);
if (!ejdbisopen(db)) {
set_error(env, 0, "EJDB not opened");
/*
* Class: org_ejdb_driver_EJDBQuery
-* Method: executeDB
+* Method: execute
* Signature: (Lorg/bson/BSONObject;[Lorg/bson/BSONObject;Lorg/bson/BSONObject;I)Lorg/ejdb/driver/EJDBQuery$QResult;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_executeDB (JNIEnv *env, jobject obj, jobject qobj, jobjectArray qorarrobj, jobject hobj, jint flags) {
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_execute (JNIEnv *env, jobject obj, jobject qobj, jobjectArray qorarrobj, jobject hobj, jint flags) {
jclass jQResultClazz = (*env)->FindClass(env, "org/ejdb/driver/EJDBQuery$QResult");
jmethodID initQResultMethodID = (*env)->GetMethodID(env, jQResultClazz, "<init>", "(IJ)V");
/*
* Class: org_ejdb_driver_EJDBResultSet
-* Method: getDB
+* Method: get
* Signature: (I)Lorg/bson/BSONObject;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_getDB (JNIEnv *env, jobject obj, jint indx) {
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_get (JNIEnv *env, jobject obj, jint indx) {
TCLIST *rs = get_rs_from_object(env, obj);
if (!rs) {
/*
* Class: org_ejdb_driver_EJDBResultSet
-* Method: lengthDB
+* Method: length
* Signature: ()I
*/
-JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_lengthDB (JNIEnv *env, jobject obj) {
+JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_length (JNIEnv *env, jobject obj) {
TCLIST *rs = get_rs_from_object(env, obj);
if (!rs) {
/*
* Class: org_ejdb_driver_EJDBResultSet
-* Method: closeDB
+* Method: close
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_closeDB (JNIEnv *env, jobject obj) {
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_close (JNIEnv *env, jobject obj) {
TCLIST *rs = get_rs_from_object(env, obj);
if (!rs) {
#define org_ejdb_driver_EJDB_JBO_DEFAULT 70L
/*
* Class: org_ejdb_driver_EJDB
- * Method: openDB
+ * Method: open
* Signature: (Ljava/lang/String;I)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_openDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_open
(JNIEnv *, jobject, jstring, jint);
/*
* Class: org_ejdb_driver_EJDB
- * Method: isOpenDB
+ * Method: isOpen
* Signature: ()Z
*/
-JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpenDB
+JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpen
(JNIEnv *, jobject);
/*
* Class: org_ejdb_driver_EJDB
- * Method: closeDB
+ * Method: close
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_closeDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_close
(JNIEnv *, jobject);
/*
* Class: org_ejdb_driver_EJDB
- * Method: syncDB
+ * Method: sync
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_syncDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_sync
(JNIEnv *, jobject);
#ifdef __cplusplus
#define org_ejdb_driver_EJDBCollection_JBIDXISTR 128L
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: ensureDB
+ * Method: txControlDB
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_txControlDB
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: org_ejdb_driver_EJDBCollection
+ * Method: ensureExists
* Signature: (Lorg/ejdb/driver/EJDBCollection/Options;)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureExists
(JNIEnv *, jobject, jobject);
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: dropDB
+ * Method: drop
* Signature: (Z)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_dropDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_drop
(JNIEnv *, jobject, jboolean);
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: syncDB
+ * Method: sync
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_syncDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_sync
(JNIEnv *, jobject);
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: loadDB
+ * Method: load
* Signature: (Lorg/bson/types/ObjectId;)Lorg/bson/BSONObject;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_loadDB
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_load
(JNIEnv *, jobject, jobject);
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: saveDB
+ * Method: save
* Signature: (Lorg/bson/BSONObject;)Lorg/bson/types/ObjectId;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_saveDB
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_save
(JNIEnv *, jobject, jobject);
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: removeDB
+ * Method: remove
* Signature: (Lorg/bson/types/ObjectId;)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_removeDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_remove
(JNIEnv *, jobject, jobject);
/*
* Class: org_ejdb_driver_EJDBCollection
- * Method: setIndexDB
+ * Method: setIndex
* Signature: (Ljava/lang/String;I)V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndexDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndex
(JNIEnv *, jobject, jstring, jint);
-/*
- * Class: org_ejdb_driver_EJDBCollection
- * Method: txControlDB
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_txControlDB
- (JNIEnv *, jobject, jint);
-
#ifdef __cplusplus
}
#endif
#define org_ejdb_driver_EJDBQuery_JBQRYCOUNT 1L
/*
* Class: org_ejdb_driver_EJDBQuery
- * Method: executeDB
+ * Method: execute
* Signature: (Lorg/bson/BSONObject;[Lorg/bson/BSONObject;Lorg/bson/BSONObject;I)Lorg/ejdb/driver/EJDBQuery/QResult;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_executeDB
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_execute
(JNIEnv *, jobject, jobject, jobjectArray, jobject, jint);
#ifdef __cplusplus
#endif
/*
* Class: org_ejdb_driver_EJDBResultSet
- * Method: getDB
+ * Method: get
* Signature: (I)Lorg/bson/BSONObject;
*/
-JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_getDB
+JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_get
(JNIEnv *, jobject, jint);
/*
* Class: org_ejdb_driver_EJDBResultSet
- * Method: lengthDB
+ * Method: length
* Signature: ()I
*/
-JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_lengthDB
+JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_length
(JNIEnv *, jobject);
/*
* Class: org_ejdb_driver_EJDBResultSet
- * Method: closeDB
+ * Method: close
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_closeDB
+JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_close
(JNIEnv *, jobject);
#ifdef __cplusplus
System.loadLibrary("jejdb");
}
- protected native void openDB(String path, int mode);
- protected native boolean isOpenDB();
- protected native void closeDB();
- protected native void syncDB();
-
private long dbPointer;
-
// TODO: move to driver class
public void open(String path) {
this.open(path, JBO_DEFAULT);
}
- public void open(String path, int mode) {
- this.openDB(path, mode);
- }
+ public native void open(String path, int mode);
- public boolean isOpen() {
- return this.isOpenDB();
- }
+ public native boolean isOpen();
- public void close() {
- this.closeDB();
- }
-
- public void sync() {
- this.syncDB();
- }
+ public native void close();
+ public native void sync();
public EJDBCollection ensureCollection(String cname) {
return this.ensureCollection(cname, null);
}
public EJDBCollection ensureCollection(String cname, EJDBCollection.Options opts) {
- if (!this.isOpen()) {
-// todo
- throw new RuntimeException("Connection does not exists");
- }
-
EJDBCollection collection = getCollection(cname);
collection.ensureExists(opts);
}
public void dropCollection(String cname, boolean prune) {
- if (!this.isOpen()) {
- // todo
- throw new RuntimeException("Connection does not exists");
- }
-
- EJDBCollection collection = getCollection(cname);
-
- collection.drop(prune);
+ getCollection(cname).drop(prune);
}
public EJDBCollection getCollection(String cname) {
this.cname = cname;
}
- protected native void ensureDB(Options opts);
- protected native void dropDB(boolean prune);
- protected native void syncDB();
+ // TODO:
+ protected native void txControlDB(int mode);
- protected native BSONObject loadDB(ObjectId oid);
- protected native ObjectId saveDB(BSONObject obj);
- protected native void removeDB(ObjectId oid);
- protected native void setIndexDB(String path, int flags);
- protected native void txControlDB(int mode);
public void ensureExists() {
this.ensureExists(null);
}
- public void ensureExists(Options opts) {
- this.ensureDB(opts);
- }
+ public native void ensureExists(Options opts);
public void drop() {
this.drop(false);
}
- public void drop(boolean prune) {
- this.dropDB(prune);
- }
+ public native void drop(boolean prune);
- public void sync() {
- this.syncDB();
- }
+ public native void sync();
- public BSONObject load(ObjectId oid) {
- return this.loadDB(oid);
- }
+ public native BSONObject load(ObjectId oid);
- public ObjectId save(BSONObject object) {
- return this.saveDB(object);
- }
+ public native ObjectId save(BSONObject object);
public List<ObjectId> save(List<BSONObject> objects) {
List<ObjectId> result = new ArrayList<ObjectId>(objects.size());
return result;
}
- public void remove(ObjectId oid) {
- this.removeDB(oid);
- }
+ public native void remove(ObjectId oid);
- public void setIndex(String path, int flags) {
- this.setIndexDB(path, flags);
- }
+ public native void setIndex(String path, int flags);
public EJDBQuery createQuery(BSONObject query, BSONObject[] qors, BSONObject hints, int flags) {
return new EJDBQuery(this, query, qors, hints, flags);
// TODO
public EJDBResultSet execute() {
- QResult qResult = this.executeDB(query, qors, hints, flags);
+ QResult qResult = this.execute(query, qors, hints, flags);
return qResult != null ? new EJDBResultSet(qResult.rsPointer) : null;
}
-
- protected native QResult executeDB(BSONObject query, BSONObject[] qors, BSONObject hints, int flags);
+ protected native QResult execute(BSONObject query, BSONObject[] qors, BSONObject hints, int flags);
private static class QResult {
private int count;
this.position = 0;
}
- protected native BSONObject getDB(int position);
- protected native int lengthDB();
- protected native void closeDB();
+ public native BSONObject get(int position);
+ public native int length();
public Iterator<BSONObject> iterator() {
return this;
}
public boolean hasNext() {
- return position < this.lengthDB();
+ return position < this.length();
}
public BSONObject next() {
throw new NoSuchElementException();
}
- return getDB(position++);
+ return get(position++);
}
public void remove() {
throw new UnsupportedOperationException();
}
- public void close() {
- this.closeDB();
- }
+ public native void close();
@Override
protected void finalize() throws Throwable {