X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fbinding%2Fimpl%2FUUIDBinding.java;h=bae38b63f9ca820cc7c2147b2d9263fd9713ad48;hb=3f5adda763f6281e9988277d067c1f71615e3da2;hp=0689a9fd1d3b749a70916cde078531f2939ff92a;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/UUIDBinding.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/UUIDBinding.java index 0689a9fd1..bae38b63f 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/UUIDBinding.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/UUIDBinding.java @@ -1,78 +1,78 @@ -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); - } - -} - +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); + } + +} +