package org.simantics.databoard.tests; import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.TreeMap; import org.simantics.databoard.Bindings; import org.simantics.databoard.annotations.Arguments; import org.simantics.databoard.annotations.Referable; import org.simantics.databoard.annotations.Union; import org.simantics.databoard.binding.Binding; import org.simantics.databoard.binding.reflection.BindingRequest; import org.simantics.databoard.binding.reflection.ClassBindingFactory; import org.simantics.databoard.type.Datatype; public class Jotakin9 { public @Referable static class Foo { public List list; public String[] array; public LinkedList linkedList; public HashMap hashMap; public TreeMap treeMap; public Foo() { } public Foo(String[] list, int[] keys, String values[]) { this.list = new ArrayList(list.length); this.linkedList = new LinkedList(); array = list.clone(); for (int i=0; i(); treeMap = new TreeMap(); for (int i=0; i y; public TreeMap z; } static enum abc {a,b,c} public static void main(String[] args) throws Exception { Binding c = Bindings.getBinding(Map.class, Integer.class, String.class); Map map = (Map) c.createRandom(5); System.out.println(c.toString(map)); Binding d = Bindings.getBinding(List.class, Integer.class); List list = (List) d.createRandom(5); System.out.println(d.toString(list)); Binding e = Bindings.getBinding(List.class, List.class, String.class); List> listList = (List>) e.createRandom(5); System.out.println(e.toString(listList)); Binding b = Bindings.getBinding(Foo.class); b.createDefault(); System.out.println(b.getClass().getSimpleName()); ClassBindingFactory factory = new ClassBindingFactory(); Datatype type = factory.construct( new BindingRequest( Example1.class ) ).type(); System.out.println(type); Rectangle2D rect = new Rectangle2D.Double(); Binding binding = Bindings.getBinding( rect.getClass() ); byte[] data = Bindings.getSerializer(binding).serialize(rect); } }