]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/scratch/org/simantics/databoard/tests/Jotakin9.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / scratch / org / simantics / databoard / tests / Jotakin9.java
1 package org.simantics.databoard.tests;\r
2 \r
3 import java.awt.geom.Rectangle2D;\r
4 import java.util.ArrayList;\r
5 import java.util.HashMap;\r
6 import java.util.LinkedList;\r
7 import java.util.List;\r
8 import java.util.Map;\r
9 import java.util.TreeMap;\r
10 \r
11 import org.simantics.databoard.Bindings;\r
12 import org.simantics.databoard.annotations.Arguments;\r
13 import org.simantics.databoard.annotations.Referable;\r
14 import org.simantics.databoard.annotations.Union;\r
15 import org.simantics.databoard.binding.Binding;\r
16 import org.simantics.databoard.binding.reflection.BindingRequest;\r
17 import org.simantics.databoard.binding.reflection.ClassBindingFactory;\r
18 import org.simantics.databoard.type.Datatype;\r
19 \r
20 public class Jotakin9 {\r
21 \r
22         public @Referable static class Foo {\r
23                 public List<String> list;\r
24                 public String[] array;\r
25                 public LinkedList<String> linkedList;           \r
26                 public HashMap<Integer, String> hashMap;\r
27                 public TreeMap<Integer, String> treeMap;\r
28                         \r
29                 public Foo() {                  \r
30                 }\r
31                 \r
32                 public Foo(String[] list, int[] keys, String values[]) {\r
33                         this.list = new ArrayList<String>(list.length);\r
34                         this.linkedList = new LinkedList<String>();\r
35                         array = list.clone();\r
36                         for (int i=0; i<list.length; i++) {\r
37                                 this.list.add( list[i] ); \r
38                                 this.linkedList.add( list[i] );\r
39                         }\r
40                         hashMap = new HashMap<Integer, String>();\r
41                         treeMap = new TreeMap<Integer, String>();\r
42                         for (int i=0; i<keys.length; i++) {\r
43                                 hashMap.put( keys[i] , values[i] );\r
44                                 treeMap.put( keys[i] , values[i] );\r
45                         }\r
46                 }\r
47         }       \r
48         \r
49         public static class Bar {\r
50                 \r
51                 public @Arguments(List.class) List list;\r
52                 \r
53         }\r
54         \r
55         @Union({Rectangle.class, Circle.class, Triangle.class})\r
56         static class Shape {}   \r
57         static class Rectangle extends Shape {}\r
58         static class Circle extends Shape {}            \r
59         static class Triangle extends Shape {}          \r
60         \r
61         static public class Example1 {\r
62                 \r
63                 public int x;\r
64 \r
65                 public ArrayList<Integer> y;\r
66                 \r
67                 public TreeMap<Integer, Double> z;              \r
68                 \r
69         }\r
70         \r
71         static enum abc {a,b,c}\r
72         \r
73 \r
74         \r
75         public static void main(String[] args) throws Exception {\r
76                 \r
77                 Binding c = Bindings.getBinding(Map.class, Integer.class, String.class);\r
78                 Map<Integer, String> map = (Map<Integer, String>) c.createRandom(5);\r
79                 System.out.println(c.toString(map));\r
80                 \r
81                 Binding d = Bindings.getBinding(List.class, Integer.class);\r
82                 List<Integer> list = (List<Integer>) d.createRandom(5);\r
83                 System.out.println(d.toString(list));\r
84                 \r
85                 Binding e = Bindings.getBinding(List.class, List.class, String.class);\r
86                 List<List<String>> listList = (List<List<String>>) e.createRandom(5);\r
87                 System.out.println(e.toString(listList));\r
88 \r
89                 Binding b = Bindings.getBinding(Foo.class);\r
90                 b.createDefault();\r
91                 System.out.println(b.getClass().getSimpleName());\r
92                                 \r
93                 ClassBindingFactory factory = new ClassBindingFactory();\r
94                 \r
95                 Datatype type = factory.construct( new BindingRequest( Example1.class ) ).type();\r
96                 \r
97                 System.out.println(type);\r
98                 \r
99                 Rectangle2D rect = new Rectangle2D.Double();\r
100                 Binding binding = Bindings.getBinding( rect.getClass() );\r
101                 byte[] data = Bindings.getSerializer(binding).serialize(rect);\r
102                 \r
103         }\r
104         \r
105 }\r