diff options
| author | krasimir <krasimir@chalmers.se> | 2015-09-03 13:52:32 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2015-09-03 13:52:32 +0000 |
| commit | 3328dd1f8dc784021e6bc0350cabc93b44b582c4 (patch) | |
| tree | 20be3a100fe3274c942aafaf58e7ea159ad0e982 /src/runtime/java/org/grammaticalframework | |
| parent | c322e686a0f59ae633918853c1c434fc11fc49ae (diff) | |
Java API for opening/closing SG databases
Diffstat (limited to 'src/runtime/java/org/grammaticalframework')
3 files changed, 56 insertions, 0 deletions
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; + } +} |
