package org.simantics.databoard.tests; import org.simantics.databoard.Bindings; import org.simantics.databoard.annotations.Referable; import org.simantics.databoard.binding.Binding; import org.simantics.databoard.serialization.Serializer; public class Jotakin11 { static @Referable class Node { public int id; public Node[] reference; public Node(int id, Node...reference) { this.id = id; this.reference = reference; } } public static void main(String[] args) throws Exception { Node a = new Node(0); Node b = new Node(1); Node c = new Node(2); a.reference = new Node[] {b, c}; b.reference = new Node[] {a}; c.reference = new Node[] {c}; Binding binding = Bindings.getBinding( Node.class ); Serializer s = Bindings.getSerializer(binding); byte[] data = s.serialize(a); System.out.println(s.getSize(c) + " bytes"); Node d = (Node) s.deserialize( data ); System.out.println( binding.toString(d) ); } }