|
Re: Wrapping character values using SimleAnyType [message #423351 is a reply to message #423340] |
Mon, 29 September 2008 12:06 |
Ed Merks Messages: 33142 Registered: July 2009 |
Senior Member |
|
|
Mario,
XML Schema doesn't have a character data type. But you could use
EcorePackage.Literals.ECHAR_OBJECT. Note that
XMLTypePackage.Literals.BOOLEAN_OBJECT would be more efficient to access
than the getter methods...
Mario Winterer wrote:
> Hi!
>
> Is it possible to wrap a character value into a SimpleAnyType?
> There seems to be no meta data object for data type character in
> XMLTypePackage.
>
> At the moment this is what I'm doing:
>
> input: Object value
> output: SimpleAnyType that wraps the value
>
> EDataType dataType = null;
> Class<?> clazz = EcoreUtil.wrapperClassFor(value.getClass());
> if (clazz == Boolean.class) {
> dataType = XMLTypePackage.eINSTANCE.getBooleanObject();
> } else if (clazz == Character.class) {
> dataType = EcorePackage.eINSTANCE.get
> } else if (clazz == Byte.class) {
> dataType = XMLTypePackage.eINSTANCE.getByteObject();
> } else if (clazz == Short.class) {
> dataType = XMLTypePackage.eINSTANCE.getShortObject();
> } else if (clazz == Integer.class) {
> dataType = XMLTypePackage.eINSTANCE.getIntObject();
> } else if (clazz == Long.class) {
> dataType = XMLTypePackage.eINSTANCE.getLongObject();
> } else if (clazz == Float.class) {
> dataType = XMLTypePackage.eINSTANCE.getFloatObject();
> } else if (clazz == Double.class) {
> dataType = XMLTypePackage.eINSTANCE.getDoubleObject();
> } else if (clazz == String.class) {
> dataType = XMLTypePackage.eINSTANCE.getString();
> } else if (clazz == Date.class) {
> dataType = XMLTypePackage.eINSTANCE.getDateTime();
> } else if (clazz == BigDecimal.class) {
> dataType = XMLTypePackage.eINSTANCE.getDecimal();
> } else if (clazz == BigInteger.class) {
> dataType = XMLTypePackage.eINSTANCE.getInteger();
> }
>
> SimpleAnyType simpleType =
> XMLTypeFactory.eINSTANCE.createSimpleAnyType();
> simpleType.setInstanceType(dataType);
> simpleType.setValue(value);
>
> return simpleType;
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Powered by
FUDForum. Page generated in 0.02431 seconds