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(); +    }  } |