1 /*******************************************************************************
2 * Copyright (c) 2010 Association for Decentralized Information Management in
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License v1.0
6 * which accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * VTT Technical Research Centre of Finland - initial API and implementation
11 *******************************************************************************/
12 package org.simantics.databoard.binding.impl;
14 import org.simantics.databoard.binding.ByteBinding;
15 import org.simantics.databoard.binding.error.BindingException;
16 import org.simantics.databoard.binding.error.UnsupportedOperationException;
17 import org.simantics.databoard.type.ByteType;
20 * Binds ByteType to java.lang.Byte-class
22 * @author Toni Kalajainen <toni.kalajainen@vtt.fi>
24 public class ByteBindingDefault extends ByteBinding {
26 public ByteBindingDefault(ByteType type) {
30 public Object create(byte value) {
31 return Byte.valueOf(value);
34 public Object create(Byte value) {
39 public Object create(Number value)
41 if (value.getClass()==Byte.class) return value;
42 return Byte.valueOf( value.byteValue() );
46 public Object create(String value) throws BindingException {
48 return Byte.parseByte(value);
49 } catch (java.lang.NumberFormatException e) {
50 throw new BindingException( e );
54 public Byte getValue(Object obj)
55 throws BindingException
57 if (obj.getClass()!=Byte.class) throw new BindingException("Unexpected class "+obj.getClass().getSimpleName()+", Byte expected");
61 public byte getValue_(Object obj)
62 throws BindingException
64 if (obj.getClass()!=Byte.class) throw new BindingException("Unexpected class "+obj.getClass().getSimpleName()+", Byte expected");
69 public void setValue(Object obj, Number value) throws BindingException {
70 throw new UnsupportedOperationException("Cannot change the value of immutable java.lang.Byte");
73 public void setValue(Object obj, byte value) throws BindingException {
74 throw new UnsupportedOperationException("Cannot change the value of immutable java.lang.Byte");
78 public boolean isInstance(Object obj) {
79 return obj instanceof Byte;
83 public boolean isImmutable() {
88 public int compare(Object o1, Object o2)
93 return d == 0 ? 0 : (d<0?-1:1);