From 3328dd1f8dc784021e6bc0350cabc93b44b582c4 Mon Sep 17 00:00:00 2001 From: krasimir Date: Thu, 3 Sep 2015 13:52:32 +0000 Subject: Java API for opening/closing SG databases --- .../java/org/grammaticalframework/sg/SG.java | 22 +++++++++++++++++++ .../java/org/grammaticalframework/sg/SGError.java | 9 ++++++++ .../org/grammaticalframework/sg/TripleResult.java | 25 ++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 src/runtime/java/org/grammaticalframework/sg/SG.java create mode 100644 src/runtime/java/org/grammaticalframework/sg/SGError.java create mode 100644 src/runtime/java/org/grammaticalframework/sg/TripleResult.java (limited to 'src/runtime/java/org/grammaticalframework') diff --git a/src/runtime/java/org/grammaticalframework/sg/SG.java b/src/runtime/java/org/grammaticalframework/sg/SG.java new file mode 100644 index 000000000..631b38ff7 --- /dev/null +++ b/src/runtime/java/org/grammaticalframework/sg/SG.java @@ -0,0 +1,22 @@ +package org.grammaticalframework.sg; + +import java.io.Closeable; +import org.grammaticalframework.pgf.Expr; + +public class SG implements Closeable { + public static native SG openSG(String path); + public native void close(); + public native TripleResult queryTriple(Expr subj, Expr pred, Expr obj); + + ////////////////////////////////////////////////////////////////// + // private stuff + private long ref; + + private SG(long ref) { + this.ref = ref; + } + + static { + System.loadLibrary("jpgf"); + } +} diff --git a/src/runtime/java/org/grammaticalframework/sg/SGError.java b/src/runtime/java/org/grammaticalframework/sg/SGError.java new file mode 100644 index 000000000..0de876bd4 --- /dev/null +++ b/src/runtime/java/org/grammaticalframework/sg/SGError.java @@ -0,0 +1,9 @@ +package org.grammaticalframework.sg; + +public class SGError extends RuntimeException { + private static final long serialVersionUID = -6098784400143861939L; + + public SGError(String message) { + super(message); + } +} diff --git a/src/runtime/java/org/grammaticalframework/sg/TripleResult.java b/src/runtime/java/org/grammaticalframework/sg/TripleResult.java new file mode 100644 index 000000000..59a0ddb81 --- /dev/null +++ b/src/runtime/java/org/grammaticalframework/sg/TripleResult.java @@ -0,0 +1,25 @@ +package org.grammaticalframework.sg; + +import java.io.Closeable; +import org.grammaticalframework.pgf.Expr; + +public class TripleResult implements Closeable { + private Expr subj; + private Expr pred; + private Expr obj; + + public native boolean hasNext(); + public native void close(); + + public Expr getSubject() { + return subj; + } + + public Expr getPredicate() { + return pred; + } + + public Expr getObject() { + return obj; + } +} -- cgit v1.2.3