Hi Guys,
I looked at the table of exceptions in section 4.1.13, and
noticed that besides the problem with many-valued properties, we also say that
an exception is thrown when setting read-only properties, and also on creation
of a cycle in the containment structure. We discussed read-only last
week, and I believe we also agreed to remove the cyclic containment stuff,
too. So here’s the table, removing these lines and with my edits to
the many-valued stuff.
Condition
|
Exception
|
For Types without open content
(open=false), Property is not a member of getInstanceProperties() in
get<T>(Property property) or get<T>(int propertyIndex).
- getInstanceProperties().contains(property) ==
false
- propertyIndex < 0 or >=
getInstanceProperties().size()
- Example: getInteger(null)
- Example: get(String.class,-1)
- Example: isSet(property)
|
IllegalArgumentException
|
Index out of range on a many-valued Property (defined by the List
interface)
- index < 0 or >= getList(Property
property).size()
- Example: getList(employee).get(-1)
- Example: getList(employee).get(1000) where there
are less than 1000 values
|
IndexOutOfBoundsException
|
Cannot convert between value and requested Type
- Example: get(Date.class, property) where
property.Type is float
- Example: getList(property) where property.many ==
false and property.type.instanceClass is not List.
|
Conversion-related exception (for example,
ClassCastException, NumberFormatException
etc.)
|
Mixing single-valued and many-valued Property access
- Except as described in section 4.1.4: Many-valued
DataObject Properties
- Example: get<String>(property) where
property.many == false and the value of the property contains 2 or more
elements.
|
ClassCastException
|
From: Barack, Ron [mailto:ron.barack@sap.com]
Sent: Dienstag, 19. Oktober 2010 18:06
To: sdo@lists.oasis-open.org
Subject: [sdo] ISSUE 184: Replace missing text in section 4.1.3 and
4.1.4
|