]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/scratch/org/simantics/databoard/tests/Jotakin12.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / scratch / org / simantics / databoard / tests / Jotakin12.java
1 package org.simantics.databoard.tests;\r
2 \r
3 import java.awt.geom.Rectangle2D;\r
4 import java.io.File;\r
5 \r
6 import org.simantics.databoard.Accessors;\r
7 import org.simantics.databoard.Bindings;\r
8 import org.simantics.databoard.Datatypes;\r
9 import org.simantics.databoard.accessor.RecordAccessor;\r
10 import org.simantics.databoard.accessor.file.FileRecordAccessor;\r
11 import org.simantics.databoard.accessor.file.FileVariantAccessor;\r
12 import org.simantics.databoard.binding.Binding;\r
13 import org.simantics.databoard.serialization.Serializer;\r
14 import org.simantics.databoard.type.Datatype;\r
15 import org.simantics.databoard.type.RecordType;\r
16 \r
17 public class Jotakin12 {\r
18         \r
19         static class ClassNoArgConstructor {\r
20                 private ClassNoArgConstructor() {}\r
21         }\r
22         \r
23         public static void main(String[] args) throws Exception {\r
24 \r
25                 File file = File.createTempFile("tmp", ".dbb");\r
26                 \r
27                 {\r
28                 RecordType type = Datatypes.getDatatype( Rectangle2D.Double.class );\r
29             FileRecordAccessor fa = Accessors.createFile( file, type );\r
30             fa.setFieldValue(0, Bindings.DOUBLE, 5.0);\r
31             fa.close();\r
32                 }\r
33                 \r
34                 {\r
35             FileVariantAccessor fa = Accessors.openAccessor(file);\r
36             RecordAccessor ra = fa.getContentAccessor();\r
37             Double x = (Double) ra.getFieldValue(0, Bindings.DOUBLE);\r
38             fa.close();\r
39             System.out.println(x);\r
40                 }\r
41                 \r
42                 {\r
43                 Binding binding = Bindings.getBinding(Rectangle2D.Double.class);\r
44                 Rectangle2D rect = new Rectangle2D.Double(0,0, 10, 10);\r
45                 RecordAccessor ra = Accessors.getAccessor(binding, rect);\r
46                 ra.setFieldValue(0, Bindings.DOUBLE, 5.0);\r
47                 System.out.println( rect.getX() );\r
48                 }\r
49                 \r
50                 {\r
51                         Datatype type = Datatypes.getDatatype( Rectangle2D.Double.class );\r
52                         Binding binding = Bindings.getBinding( Rectangle2D.Double.class );\r
53                         Serializer s = Bindings.getSerializer(binding);\r
54                         Rectangle2D rect = new Rectangle2D.Double(0,0, 10, 10);\r
55                         byte[] data = s.serialize(rect);\r
56                         \r
57                         // Open accessor to byte data\r
58                         RecordAccessor ra = Accessors.getAccessor(data, type);\r
59                         ra.setFieldValue(0, Bindings.DOUBLE, 5.0);\r
60                         s.deserialize(data, rect);\r
61                         System.out.println(rect.getX());\r
62                 }\r
63 \r
64                 \r
65                 \r
66         }\r
67 \r
68 }\r