Module java.corba
Package org.omg.DynamicAny

## Interface DynStructOperations

- All Superinterfaces:
    `DynAnyOperations`
  All Known Subinterfaces:
    `DynStruct`
  All Known Implementing Classes:
    `_DynStructStub`

      public interface DynStructOperations
      extends DynAnyOperations

  DynStruct objects support the manipulation of IDL struct and exception values. Members of the exceptions are handled in the same way as members of a struct.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TCKind` | `current_member_kind​()` | Returns the TCKind associated with the member at the current position.
    `String` | `current_member_name​()` | Returns the name of the member at the current position.
    `NameValuePair[]` | `get_members​()` | Returns a sequence of NameValuePairs describing the name and the value of each member in the struct associated with a DynStruct object.
    `NameDynAnyPair[]` | `get_members_as_dyn_any​()` | Returns a sequence of NameDynAnyPairs describing the name and the value of each member in the struct associated with a DynStruct object.
    `void` | `set_members​(NameValuePair[] value)` | Initializes the struct data value associated with a DynStruct object from a sequence of NameValuePairs.
    `void` | `set_members_as_dyn_any​(NameDynAnyPair[] value)` | Initializes the struct data value associated with a DynStruct object from a sequence of NameDynAnyPairs.

    - ### Methods inherited from interface org.omg.DynamicAny.DynAnyOperations

      `assign, component_count, copy, current_component, destroy, equal, from_any, get_any, get_boolean, get_char, get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, get_reference, get_short, get_string, get_typecode, get_ulong, get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, insert_long, insert_longlong, insert_octet, insert_reference, insert_short, insert_string, insert_typecode, insert_ulong, insert_ulonglong, insert_ushort, insert_val, insert_wchar, insert_wstring, next, rewind, seek, to_any, type`

- - ### Method Detail

    - #### current_member_name

          String current_member_name​()
                              throws TypeMismatch,
                                     InvalidValue

      Returns the name of the member at the current position. This operation may return an empty string since the TypeCode of the value being manipulated may not contain the names of members.
      Throws:
        `TypeMismatch` - if the DynStruct represents an empty exception.
        `InvalidValue` - if the current position does not indicate a member

    - #### current_member_kind

          TCKind current_member_kind​()
                              throws TypeMismatch,
                                     InvalidValue

      Returns the TCKind associated with the member at the current position.
      Throws:
        `TypeMismatch` - if the DynStruct represents an empty exception.
        `InvalidValue` - if the current position does not indicate a member

    - #### get_members

          NameValuePair[] get_members​()

      Returns a sequence of NameValuePairs describing the name and the value of each member in the struct associated with a DynStruct object. The sequence contains members in the same order as the declaration order of members as indicated by the DynStruct's TypeCode. The current position is not affected. The member names in the returned sequence will be empty strings if the DynStruct's TypeCode does not contain member names.

    - #### set_members

          void set_members​(NameValuePair[] value)
                    throws TypeMismatch,
                           InvalidValue

      Initializes the struct data value associated with a DynStruct object from a sequence of NameValuePairs. The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise, if an empty sequence is passed, the current position is set to -1.

      Members must appear in the NameValuePairs in the order in which they appear in the IDL specification of the struct as indicated by the DynStruct's TypeCode or they must be empty strings. The operation makes no attempt to assign member values based on member names.

      Throws:
        `TypeMismatch` - if the member names supplied in the passed sequence do not match the corresponding member name in the DynStruct's TypeCode and they are not empty strings
        `InvalidValue` - if the passed sequence has a number of elements that disagrees with the number of members as indicated by the DynStruct's TypeCode

    - #### get_members_as_dyn_any

          NameDynAnyPair[] get_members_as_dyn_any​()

      Returns a sequence of NameDynAnyPairs describing the name and the value of each member in the struct associated with a DynStruct object. The sequence contains members in the same order as the declaration order of members as indicated by the DynStruct's TypeCode. The current position is not affected. The member names in the returned sequence will be empty strings if the DynStruct's TypeCode does not contain member names.

    - #### set_members_as_dyn_any

          void set_members_as_dyn_any​(NameDynAnyPair[] value)
                               throws TypeMismatch,
                                      InvalidValue

      Initializes the struct data value associated with a DynStruct object from a sequence of NameDynAnyPairs. The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise, if an empty sequence is passed, the current position is set to -1.

      Members must appear in the NameDynAnyPairs in the order in which they appear in the IDL specification of the struct as indicated by the DynStruct's TypeCode or they must be empty strings. The operation makes no attempt to assign member values based on member names.

      Throws:
        `TypeMismatch` - if the member names supplied in the passed sequence do not match the corresponding member name in the DynStruct's TypeCode and they are not empty strings
        `InvalidValue` - if the passed sequence has a number of elements that disagrees with the number of members as indicated by the DynStruct's TypeCode