[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sdo] Issue 118 - Proposal for review
Hi Blaise,
Yes, that's right. Wrapper types are really implementation dependent and
special. An XML serializer needs to provide special handling for wrapper
types.
Also, user's shouldn't be working with wrapper types directly anyway. The
user would do this instead:
DataObject intWrapperDO = dataFactory.create("commonj.sdo", "Int");
intWrapperDO.setInt("value", 7);
xmlHelper.save(intWrapperDO, "urn:example", "root", System.out);
The implementation, knowing it's a wapper, would serialize it correctly:
<root xmlns="urn:example">7</root>
Frank.
Blaise Doughan <blaise.doughan@oracle.com>
09/08/2008 01:50 PM
To
sdo@lists.oasis-open.org
cc
Subject
Re: [sdo] Issue 118 - Proposal for review
Hi Frank,
That schema fragment does not match my expectations for wrapper types.
For the following code fragment:
DataObject intWrapperDO = dataFactory.create("vendor.package",
"VendorIntWrapper");
intWrapperDO.setInt(7);
xmlHelper.save(intWrapperDO, "urn:example", "root", System.out);
I would expect the above to return:
<root xmlns="urn:example">7</root>
And not:
<root xmlns="urn:example">
<value>7</value>
</root>
-Blaise
Frank Budinsky wrote:
VendorIntWrapper is implementation specific, so I can't say exactly what
it looks like. It could look something like this:
<xsd:complexType name="VendorIntWrapper">
<xsd:complexContent>
<xsd:extension base="sdo:DataTypeWrapper">
<xsd:sequence>
<xsd:element name="value" type="xsd:int"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Frank.
Blaise Doughan <blaise.doughan@oracle.com>
09/08/2008 11:01 AM
To
sdo@lists.oasis-open.org
cc
Subject
Re: [sdo] Issue 118 - Proposal for review
Hi Frank,
Can you provide the expected schema resulting from the following call
(assuming VendorIntWrapper extends DataTypeWrapper):
list.add(typeHelper.getType("commonj.sdo", "DataTypeWrapper"));
list.add(typeHelper.getType("vendor.package", "VendorIntWrapper"));
xsdHelper.define(list);
-Blaise
Frank Budinsky wrote:
Here is the proposal that that we discussed in today's TC call:
1. Add the following abstract type to sdoModel.xsd:
<xsd:complexType name="DataTypeWrapper" abstract="true"/>
2. Users can use this type to determine when a DataObject is a wrapper:
DataObject someObject = ...
Type dataTypeWrapperType = typeHelper.getType("commonj.sdo",
"DataTypeWrapper");
if (dataTypeWrapperType.isInstance(someObject)) ... // "someObject" is a
wrapper
The actual type of a wrapper object is implementation dependent, but it
will always extend from {commonj.sdo}DataTypeWrapper.
Wrapper types are the special implementation-dependant types used to hold
a simpleType value for an XMLDocument rootObject or for the value of an
anyType property. Formally defined complexTypes that extend simpleType are
not considered wrapper types (i.e., they will not extend DataTypeWrapper),
even though they also have a "value" property.
Frank.
Frank Budinsky/Toronto/IBM@IBMCA
08/20/2008 03:51 PM
To
sdo@lists.oasis-open.org
cc
Subject
Re: Fw: [sdo] Issue 118 - Creating wrapper objects for simple types
Hi Blaise,
The two cases that I remember were:
1) reading an anyType property, which maps to sdo:DataObject, but it may
be just a DataType value.
2) the root element of an XMLDocument, which is always returned as a
DataObject, even if the actual document simply had a simple DataType at
the root.
Frank.
Blaise Doughan <blaise.doughan@oracle.com>
08/20/2008 03:24 PM
To
sdo@lists.oasis-open.org
cc
Subject
Re: Fw: [sdo] Issue 118 - Creating wrapper objects for simple types
Hi Frank,
For what use case does the user need to know if the type is a data type
wrapper?
-Blaise
Frank Budinsky wrote:
Unless somebody can think of a better approach, I'd like to suggest that
we also vote on this in next weeks call.
Thanks,
Frank
----- Forwarded by Frank Budinsky/Toronto/IBM on 08/20/2008 03:15 PM
-----
Frank Budinsky/Toronto/IBM
08/18/2008 05:19 PM
To
sdo@lists.oasis-open.org
cc
Subject
[sdo] Issue 118 - Creating wrapper objects for simple types
If I'm not mistaken, SDO 118 has already been resolved in JSR235. We've
agreed that DataFactory.create(someSimpleType) must return a wrapper.
What's still missing, is a way for clients to know if a type is a
wrapper.
Proposal: Type.isDataTypeWrapper(). This would return true for any type
that has the special "value" property (including formally defined types
in
an XSD).
Please let me know if you have any comments or better alternatives?
Thanks,
Frank.
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail. Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail. Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail. Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail. Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail. Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]