[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: ISSUE 184: Replace missing text in section 4.1.3 and 4.1.4 -Proposal (part 1)
Hi Guys, Here’s a draft proposal, starting with
new text that goes at the end of 4.1.3, and giving the complete text of 4.1.4.
There will also be some changes to the table of exception in 4.1.13 (now
4.1.12), but I will send those out in a separate email. Ron _______________________________________________________________________________________________ Note that when calling the primitive
DataObject.set() methods, no automatic conversion is performed. In this case,
type conversion can be explicitly performed by calling DataHelper.convert()
before calling the set() method. For example: dataObject.set(property,
dataHelper.convert(property, value)); 4.1.4 Many-valued DataObject Properties A Property can have one or many values. If a Property is many-valued then property.many
is true. An SDO implementation MUST return an
empty list, rather than a null value, for all property accessors that have a
return type of List, whether in the DataObject interface or in a static API, if
the property has no value. [COR04010401] For
many-valued Properties, get() and getList() return a “live” list containing the
current contents of the property, not a static copy of the contents at the moment
when the list was retrieved. An SDO implementation MUST make all modifications
to a returned List visible in the DataObject, so that all operations reflect
the updated list contents. [COR04010402] An SDO implementation MUST make updates
to the DataObject visible though a returned List object. [COR04010403] When a get<T> method is called on a many-valued
property, then if the list contains a single element, the value of the element
in the list MUST be returned (after conversion, if appropriate); if the list is
emtpy, null MUST returned. [COR04010404]. Conversely, when a set<T>
method is invoked on a many-value property, then resulting value of the
property MUST be a list containing a single element having the specified value
(after conversion, if appropriate) . [COR04010405]. If property.many is true then set(property, value) and
setList(property, value) requre that "value" be an instance of the
appropriate implementation language construct. A many-valued property whose elements are DataObjects
(i.e., property.type.dataType is false) can not contain null values. The
behavior of an SDO implementation is undefined if an attempt is made to set the
value of the property to a list containing null, or to add a null value to an
existing list. A multivalued property that is bidirectional (i.e., has
an opposite property, or is indicated as the opposite of another property)
cannot cannot contain duplicates. The behavior of an SDO implementation is
undefined if an attempt is made to set the value of the property to a list
containing duplicates, or to add an element to a list that already contains the
value. From: Barack, Ron [mailto:ron.barack@sap.com] |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]