diff options
author | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2019-11-03 16:39:58 +0100 |
---|---|---|
committer | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2019-11-03 16:39:58 +0100 |
commit | 362310157373eef80f49ea6023b1666b3883f4b1 (patch) | |
tree | d8a62dae2dd8d86b07586db2fdc191eb3a8ae92d /src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java | |
parent | 9812ed30bd15324d2a337c8d838786a93f9df69f (diff) |
Implement ZMI serialization
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java')
-rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java b/src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java index a6b78da..5a560ae 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/model/ZMI.java @@ -24,12 +24,18 @@ package pl.edu.mimuw.cloudatlas.model; +import java.io.InputStream; +import java.io.OutputStream; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map.Entry; +import com.esotericsoftware.kryo.Kryo; +import com.esotericsoftware.kryo.io.Input; +import com.esotericsoftware.kryo.io.Output; + /** * A zone management information object. This object is a single node in a zone hierarchy. It stores zone attributes as well as * references to its father and sons in the tree. @@ -163,4 +169,18 @@ public class ZMI implements Cloneable { public String toString() { return attributes.toString(); } + + public static ZMI deserialize(InputStream in) { + Kryo kryo = new Kryo(); + Input kryoInput = new Input(in); + ZMI zmi = kryo.readObject(kryoInput, ZMI.class); + return zmi; + } + + public void serialize(OutputStream out) { + Kryo kryo = new Kryo(); + Output kryoOut = new Output(out); + kryo.writeObject(kryoOut, this); + kryoOut.flush(); + } } |