public Object convert()

in impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java [548:595]


  public Object convert(Type type, Object value)
  {
    Class typeClass = type.getInstanceClass();
    if (typeClass.isInstance(value))
      return value;
    
    if (typeClass == BigDecimal.class) {
      return DataObjectUtil.getBigDecimal(value);
    }
    else if (typeClass == BigInteger.class) {
      return DataObjectUtil.getBigInteger(value);
    }
    else if (typeClass == boolean.class || typeClass == Boolean.class) {
      return new Boolean(DataObjectUtil.getBoolean(value));
    }
    else if (typeClass == byte.class || typeClass == Byte.class) {
      return new Byte(DataObjectUtil.getByte(value));
    }
    else if (typeClass == byte[].class) {
      return DataObjectUtil.getBytes(value);
    }
    else if (typeClass == char.class || typeClass == Character.class) {
      return new Character(DataObjectUtil.getChar(value));
    }
    else if (typeClass == Date.class) {
      return DataObjectUtil.getDate(value);
    }
    else if (typeClass == double.class || typeClass == Double.class) {
      return new Double(DataObjectUtil.getDouble(value));
    }
    else if (typeClass == float.class || typeClass == Float.class) {
      return new Float(DataObjectUtil.getFloat(value));
    }
    else if (typeClass == int.class || typeClass == Integer.class) {
      return new Integer(DataObjectUtil.getInt(value));
    }
    else if (typeClass == long.class || typeClass == Long.class) {
      return new Long(DataObjectUtil.getLong(value));
    }
    else if (typeClass == short.class || typeClass == Short.class) {
      return new Short(DataObjectUtil.getShort(value));
    }
    else if (typeClass == String.class) {
      return DataObjectUtil.getString(value);
    }
    
    throw new IllegalArgumentException();
  }