CORBA 2.4 NO IDEA Avatar
  1. OMG Issue

CORBA24 — Null valuetypes not supported by DynValue

  • Key: CORBA24-188
  • Legacy Issue Number: 3250
  • Status: closed  
  • Source: IONA ( Mark Spruiell)
  • Summary:

    DynValue is missing support for null valuetypes. There is no
    way to determine whether a DynValue represents a null valuetype,
    nor is there any way to dynamically construct an Any containing
    a null valuetype.

    Proposed resolution:

    Add the following operations to the DynValue interface:

    boolean is_null();
    void set_to_null();
    void set_to_value();

    And replace the description of the interface with the following text:

    The DynValue interface can represent both null and non-null
    valuetypes. For a DynValue representing a non-null valuetype, the
    DynValue's components comprise the public and private members of
    the valuetype, including those inherited from concrete base valuetypes,
    in the order of definition. A DynValue representing a null valuetype
    has no components and a current position of -1.

    boolean is_null();

    The is_null operation returns TRUE if the DynValue represents
    a null valuetype.

    void set_to_null();

    The set_to_null operation changes the representation of a DynValue
    to a null valuetype. Specifically, the current components of the DynValue
    are destroyed, component_count returns zero and the current position is
    set to -1.

    void set_to_value();

    The set_to_value operation changes the representation of a DynValue
    to a non-null valuetype. The state of the DynValue is initialized
    exactly as if create_dyn_any_from_type_code had been invoked.
    The set_to_value operation has no effect when invoked on a DynValue
    representing a non-null valuetype.

    The remaining operations of the DynValue interface have equivalent
    semantics to DynStruct. When invoked on a DynValue representing a
    null valuetype, get_members and get_members_as_dyn_any return an empty
    sequence.

  • Reported: CORBA 2.3.1 — Tue, 25 Jan 2000 05:00 GMT
  • Disposition: Duplicate or Merged — CORBA 2.4
  • Disposition Summary:

    Merge with 3135 and provide resolution as part of 3135

  • Updated: Sat, 7 Mar 2015 02:37 GMT