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