1 package org.simantics.databoard.serialization.impl;
\r
3 import java.io.DataInput;
\r
4 import java.io.DataOutput;
\r
5 import java.io.IOException;
\r
7 import org.simantics.databoard.binding.DoubleBinding;
\r
8 import org.simantics.databoard.binding.error.BindingException;
\r
9 import org.simantics.databoard.serialization.Serializer.NonRecursiveSerializer;
\r
11 public class DoubleSerializer extends NonRecursiveSerializer {
\r
13 DoubleBinding binding;
\r
15 public DoubleSerializer(DoubleBinding binding) {this.binding = binding;}
\r
18 public Object deserialize(DataInput in) throws IOException {
\r
20 double value = in.readDouble();
\r
21 return binding.create(value);
\r
22 } catch (BindingException e) {
\r
23 throw new IOException( e );
\r
28 public void deserializeTo(DataInput in, Object obj) throws IOException {
\r
30 double value = in.readDouble();
\r
31 binding.setValue(obj, value);
\r
32 } catch (BindingException e) {
\r
33 throw new IOException( e );
\r
38 public void skip(DataInput in)
\r
39 throws IOException {
\r
44 public void serialize(DataOutput out, Object obj) throws IOException {
\r
46 double value = binding.getValue_(obj);
\r
47 out.writeDouble(value);
\r
48 } catch (BindingException e) {
\r
49 throw new IOException( e );
\r
54 public Integer getConstantSize() {
\r
59 public int getSize(Object obj) {
\r
64 public int getMinSize() {
\r
68 public double getDouble(DataInput in) throws IOException
\r
70 return in.readDouble();
\r
73 public void putDouble(DataOutput out, double x) throws IOException
\r