in impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java [1724:1801]
public static Object getSetValue(Property property, String value)
{
EStructuralFeature eStructuralFeature = (EStructuralFeature)property;
EClassifier eType = eStructuralFeature.getEType();
if (value == null)
{
return eType.getDefaultValue();
}
String name = eType.getInstanceClassName();
if (name == "java.lang.String")
{
return value;
}
if (name == "java.lang.Byte" || name == "byte")
{
return Byte.valueOf(value);
}
if (name == "java.util.Date")
{
return DataHelper.INSTANCE.toDate(value);
}
if (name == "java.lang.Double" || name == "double" || name == "java.lang.Number")
{
return Double.valueOf(value);
}
if (name == "java.lang.Float" || name == "float")
{
return new Float(value);
}
if (name == "java.lang.Integer" || name == "int")
{
return Integer.valueOf(value);
}
if (name == "java.lang.Long" || name == "long")
{
return Long.valueOf(value);
}
if (name == "java.lang.Short" || name == "short")
{
return Short.valueOf(value);
}
if (name == "java.lang.Character" || name == "char")
{
return new Character(value.charAt(0));
}
if (name == "java.math.BigDecimal")
{
return getBigDecimal(value);
}
if (name == "java.math.BigInteger")
{
return getBigInteger(value);
}
if (name == "java.lang.Boolean" || name == "boolean")
{
return Boolean.valueOf(value);
}
if (name == "byte[]")
{
return XMLTypeFactory.eINSTANCE.createHexBinary(value);
}
// Instead of throwing an ClassCastException we will pass the value to the property
return value;
}