Module  java.corba
软件包  org.omg.DynamicAny

Interface DynValueOperations

  • All Superinterfaces:
    DynAnyOperationsDynValueCommonOperations
    All Known Subinterfaces:
    DynValue
    所有已知实现类:
    _DynValueStub


    public interface DynValueOperations
    extends DynValueCommonOperations
    DynValue对象支持IDL非盒装值类型的操作。 DynValue接口可以表示null和非null值类型。 对于表示非空值类型的DynValue,DynValue的组件按照定义的顺序包含值类型的公有成员和私有成员,包括从具体基类型继承的类型。 表示空值类型的DynValue没有组件,当前位置为-1。

    警告:不加区别地改变私有价值类型成员的内容可能导致价值类型实现通过违反内部约束而中断。 提供访问私有成员以支持ORB桥接和调试等活动,不应被用来任意违反价值类型的封装。

    • 方法详细信息

      • current_member_name

        String current_member_name​()
                            throws TypeMismatch,
                                   InvalidValue
        返回当前位置的成员名称。 此操作可能返回一个空字符串,因为被操作的值的TypeCode可能不包含成员的名称。
        异常
        TypeMismatch - 如果DynValue表示空值类型。
        InvalidValue - 如果当前位置不指示成员
      • current_member_kind

        TCKind current_member_kind​()
                            throws TypeMismatch,
                                   InvalidValue
        返回与当前位置的成员关联的TCKind。
        异常
        TypeMismatch - 如果DynValue表示空值类型。
        InvalidValue - 如果当前位置不表示成员
      • get_members

        NameValuePair[] get_members​()
                             throws InvalidValue
        返回一个NameValuePairs序列,描述值类型中每个成员的名称和值。 该序列包含与DynValue的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynValue的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。
        异常
        InvalidValue - 如果此对象表示空值类型
      • set_members

        void set_members​(NameValuePair[] value)
                  throws TypeMismatch,
                         InvalidValue
        从NameValuePairs序列初始化值类型的成员。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。 可以使用此方法将空值类型初始化为非空值类型。

        成员必须按照DynValue的TypeCode所指示的值类型的IDL规范中出现的顺序出现在NameValuePairs中,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。

        异常
        TypeMismatch - 如果传递的序列中提供的成员名称与DynValue的TypeCode中的相应成员名称不匹配,并且它们不为空字符串
        InvalidValue - 如果传递的序列具有与DynValue的TypeCode所指示的成员数不一致的元素数
      • get_members_as_dyn_any

        NameDynAnyPair[] get_members_as_dyn_any​()
                                         throws InvalidValue
        返回一个NameDynAnyPairs序列,描述值类型中每个成员的名称和值。 该序列包含与DynValue的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynValue的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。
        异常
        InvalidValue - 如果此对象表示空值类型
      • set_members_as_dyn_any

        void set_members_as_dyn_any​(NameDynAnyPair[] value)
                             throws TypeMismatch,
                                    InvalidValue
        从NameDynAnyPairs序列初始化值类型的成员。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。 可以使用此方法将空值类型初始化为非空值类型。

        成员必须按照DynValue的TypeCode所指示的值类型的IDL规范出现的顺序出现在NameDynAnyPairs中,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。

        异常
        TypeMismatch - 如果传递的序列中提供的成员名称与DynValue的TypeCode中的对应成员名称不匹配,而不是空字符串
        InvalidValue - 如果传递的序列具有与DynValue的TypeCode所指示的成员数不符的多个元素