From baef6eee9033d3dc3e9f2f2f73a37ec8ffc66271 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Mon, 7 Apr 2014 12:52:51 +0000 Subject: [PATCH] Expr and ExprProb are now serializable objects --- .../org/grammaticalframework/pgf/Expr.java | 20 ++++++++++++++++++- .../grammaticalframework/pgf/ExprProb.java | 6 +++++- 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;