summaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-04-07 12:52:51 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-04-07 12:52:51 +0000
commite3d49bea0117218c974cb6734c9dd95d55ac438b (patch)
tree1f1438b76a23e446a83dc591ba9573e7f1e1f5bc /src/runtime
parent317d32aa93e43f6844b49720b605206a2545bdbf (diff)
Expr and ExprProb are now serializable objects
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/Expr.java20
-rw-r--r--src/runtime/java/org/grammaticalframework/pgf/ExprProb.java6
2 files changed, 24 insertions, 2 deletions
diff --git a/src/runtime/java/org/grammaticalframework/pgf/Expr.java b/src/runtime/java/org/grammaticalframework/pgf/Expr.java
index 638ec8ad1..ca94d0cf7 100644
--- a/src/runtime/java/org/grammaticalframework/pgf/Expr.java
+++ b/src/runtime/java/org/grammaticalframework/pgf/Expr.java
@@ -1,6 +1,13 @@
package org.grammaticalframework.pgf;
-public class Expr {
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
+public class Expr implements Serializable {
+ private static final long serialVersionUID = 1148602474802492674L;
+
private Pool pool;
private PGF gr;
private long ref;
@@ -18,4 +25,15 @@ public class Expr {
public static native Expr readExpr(String s) throws PGFError;
private static native String showExpr(long ref);
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ out.writeObject(showExpr(ref));
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ Expr e = readExpr((String) in.readObject());
+ pool = e.pool;
+ gr = e.gr;
+ ref = e.ref;
+ }
}
diff --git a/src/runtime/java/org/grammaticalframework/pgf/ExprProb.java b/src/runtime/java/org/grammaticalframework/pgf/ExprProb.java
index 345f5bd53..99ef0a92c 100644
--- a/src/runtime/java/org/grammaticalframework/pgf/ExprProb.java
+++ b/src/runtime/java/org/grammaticalframework/pgf/ExprProb.java
@@ -1,6 +1,10 @@
package org.grammaticalframework.pgf;
-public class ExprProb {
+import java.io.Serializable;
+
+public class ExprProb implements Serializable {
+ private static final long serialVersionUID = -3112602244416576742L;
+
private Expr expr;
private double prob;