1 package org.simantics.databoard.tests;
\r
3 import java.awt.geom.Rectangle2D;
\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
17 public class Jotakin12 {
\r
19 static class ClassNoArgConstructor {
\r
20 private ClassNoArgConstructor() {}
\r
23 public static void main(String[] args) throws Exception {
\r
25 File file = File.createTempFile("tmp", ".dbb");
\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
35 FileVariantAccessor fa = Accessors.openAccessor(file);
\r
36 RecordAccessor ra = fa.getContentAccessor();
\r
37 Double x = (Double) ra.getFieldValue(0, Bindings.DOUBLE);
\r
39 System.out.println(x);
\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
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
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