1 package org.simantics.databoard.tests;
3 import java.awt.geom.Rectangle2D;
6 import org.simantics.databoard.Accessors;
7 import org.simantics.databoard.Bindings;
8 import org.simantics.databoard.Datatypes;
9 import org.simantics.databoard.accessor.RecordAccessor;
10 import org.simantics.databoard.accessor.file.FileRecordAccessor;
11 import org.simantics.databoard.accessor.file.FileVariantAccessor;
12 import org.simantics.databoard.binding.Binding;
13 import org.simantics.databoard.serialization.Serializer;
14 import org.simantics.databoard.type.Datatype;
15 import org.simantics.databoard.type.RecordType;
17 public class Jotakin12 {
19 static class ClassNoArgConstructor {
20 private ClassNoArgConstructor() {}
23 public static void main(String[] args) throws Exception {
25 File file = File.createTempFile("tmp", ".dbb");
28 RecordType type = Datatypes.getDatatype( Rectangle2D.Double.class );
29 FileRecordAccessor fa = Accessors.createFile( file, type );
30 fa.setFieldValue(0, Bindings.DOUBLE, 5.0);
35 FileVariantAccessor fa = Accessors.openAccessor(file);
36 RecordAccessor ra = fa.getContentAccessor();
37 Double x = (Double) ra.getFieldValue(0, Bindings.DOUBLE);
39 System.out.println(x);
43 Binding binding = Bindings.getBinding(Rectangle2D.Double.class);
44 Rectangle2D rect = new Rectangle2D.Double(0,0, 10, 10);
45 RecordAccessor ra = Accessors.getAccessor(binding, rect);
46 ra.setFieldValue(0, Bindings.DOUBLE, 5.0);
47 System.out.println( rect.getX() );
51 Datatype type = Datatypes.getDatatype( Rectangle2D.Double.class );
52 Binding binding = Bindings.getBinding( Rectangle2D.Double.class );
53 Serializer s = Bindings.getSerializer(binding);
54 Rectangle2D rect = new Rectangle2D.Double(0,0, 10, 10);
55 byte[] data = s.serialize(rect);
57 // Open accessor to byte data
58 RecordAccessor ra = Accessors.getAccessor(data, type);
59 ra.setFieldValue(0, Bindings.DOUBLE, 5.0);
60 s.deserialize(data, rect);
61 System.out.println(rect.getX());