-package org.simantics.databoard.binding.impl;\r
-\r
-import java.util.UUID;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.Datatypes;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.RecordBinding;\r
-import org.simantics.databoard.binding.error.BindingException;\r
-import org.simantics.databoard.type.Component;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.databoard.type.RecordType;\r
-\r
-public class UUIDBinding extends RecordBinding {\r
-\r
- public static final Datatype UUIDType;\r
- \r
- public UUIDBinding() {\r
- componentBindings = new Binding[2];\r
- componentBindings[0] = Bindings.getBindingUnchecked(Long.class);\r
- componentBindings[1] = Bindings.getBindingUnchecked(Long.class);\r
- type = UUIDType;\r
- }\r
-\r
- @Override\r
- public Object create(Object... value) {\r
- return new UUID((Long)value[0], (Long)value[1]);\r
- }\r
-\r
- @Override\r
- public Object getComponent(Object obj, int index) {\r
- UUID uuid = (UUID) obj;\r
- switch (index) {\r
- case 0: return uuid.getMostSignificantBits();\r
- case 1: return uuid.getLeastSignificantBits();\r
- default: throw new IllegalArgumentException("index out of range, expected 0..3, got "+index);\r
- }\r
- }\r
-\r
- @Override\r
- public Object createPartial() throws BindingException {\r
- return new UUID(0, 0);\r
- }\r
-\r
- @Override\r
- public void setComponents(Object obj, Object... value) throws BindingException {\r
- throw new BindingException("Cannot change immutable UUID");\r
- }\r
- \r
- @Override\r
- public void setComponent(Object obj, int index, Object value)\r
- throws BindingException {\r
- throw new BindingException("Cannot change immutable UUID");\r
- }\r
-\r
- @Override\r
- public boolean isInstance(Object obj) {\r
- return obj instanceof UUID;\r
- }\r
- \r
- @Override\r
- public long getLong(Object r, int index) throws BindingException {\r
- UUID uuid = (UUID) r;\r
- switch (index) {\r
- case 0: return uuid.getMostSignificantBits();\r
- case 1: return uuid.getLeastSignificantBits();\r
- default: throw new IllegalArgumentException("index out of range, expected 0..3, got "+index);\r
- }\r
- }\r
-\r
- static {\r
- Component c1 = new Component("mostSigBits", Datatypes.LONG);\r
- Component c2 = new Component("leastSigBits", Datatypes.LONG);\r
- UUIDType = new RecordType(false, c1, c2);\r
- }\r
- \r
-} \r
-\r
+package org.simantics.databoard.binding.impl;
+
+import java.util.UUID;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.Datatypes;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.RecordBinding;
+import org.simantics.databoard.binding.error.BindingException;
+import org.simantics.databoard.type.Component;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.databoard.type.RecordType;
+
+public class UUIDBinding extends RecordBinding {
+
+ public static final Datatype UUIDType;
+
+ public UUIDBinding() {
+ componentBindings = new Binding[2];
+ componentBindings[0] = Bindings.getBindingUnchecked(Long.class);
+ componentBindings[1] = Bindings.getBindingUnchecked(Long.class);
+ type = UUIDType;
+ }
+
+ @Override
+ public Object create(Object... value) {
+ return new UUID((Long)value[0], (Long)value[1]);
+ }
+
+ @Override
+ public Object getComponent(Object obj, int index) {
+ UUID uuid = (UUID) obj;
+ switch (index) {
+ case 0: return uuid.getMostSignificantBits();
+ case 1: return uuid.getLeastSignificantBits();
+ default: throw new IllegalArgumentException("index out of range, expected 0..3, got "+index);
+ }
+ }
+
+ @Override
+ public Object createPartial() throws BindingException {
+ return new UUID(0, 0);
+ }
+
+ @Override
+ public void setComponents(Object obj, Object... value) throws BindingException {
+ throw new BindingException("Cannot change immutable UUID");
+ }
+
+ @Override
+ public void setComponent(Object obj, int index, Object value)
+ throws BindingException {
+ throw new BindingException("Cannot change immutable UUID");
+ }
+
+ @Override
+ public boolean isInstance(Object obj) {
+ return obj instanceof UUID;
+ }
+
+ @Override
+ public long getLong(Object r, int index) throws BindingException {
+ UUID uuid = (UUID) r;
+ switch (index) {
+ case 0: return uuid.getMostSignificantBits();
+ case 1: return uuid.getLeastSignificantBits();
+ default: throw new IllegalArgumentException("index out of range, expected 0..3, got "+index);
+ }
+ }
+
+ static {
+ Component c1 = new Component("mostSigBits", Datatypes.LONG);
+ Component c2 = new Component("leastSigBits", Datatypes.LONG);
+ UUIDType = new RecordType(false, c1, c2);
+ }
+
+}
+