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

Interface DynUnionOperations

  • All Superinterfaces:
    DynAnyOperations
    All Known Subinterfaces:
    DynUnion
    所有已知实现类:
    _DynUnionStub


    public interface DynUnionOperations
    extends DynAnyOperations
    DynUnion对象支持IDL联盟的操纵。 联盟只能有两个有效的当前职位:
    • 零,表示鉴别器
    • 一个表示活动成员
    联合的component_count值取决于当前的标识符:对于标识符表示命名成员的联合,它为2,否则为1。
    • 方法详细信息

      • get_discriminator

        DynAny get_discriminator​()
        返回当前的鉴别器值。
      • set_discriminator

        void set_discriminator​(DynAny d)
                        throws TypeMismatch
        将DynUnion的鉴别器设置为指定的值。 将鉴别器设置为与当前活动的联合成员一致的值不会影响当前活动的成员。 将标识符设置为与当前活动成员不一致的值会将该成员初始化为其默认值,将激活该成员并激活与新标识符值一致的成员(如果该值为该成员)。 如果鉴别器值指示不存在的联合成员(在这种情况下为has_no_active_member返回true),则设置联合的标识符将当前位置设置为0。 否则,如果鉴别器值指示一个命名的联合成员,则当前位置被设置为1(在这种情况下,has_no_active_member返回false并且component_count返回2)。
        异常
        TypeMismatch - 如果参数的TypeCode不等同于联盟鉴别器的TypeCode
      • set_to_default_member

        void set_to_default_member​()
                            throws TypeMismatch
        将标识符设置为与联合的默认大小写的值一致的值。 它将当前位置设置为零,并导致component_count返回2。
        异常
        TypeMismatch - 如果联合没有明确的默认情况
      • set_to_no_active_member

        void set_to_no_active_member​()
                              throws TypeMismatch
        将鉴别器设置为不与任何联合案例标签对应的值。 它将当前位置设置为零,并导致component_count返回1。
        异常
        TypeMismatch - 如果联合有明确的默认情况,或者如果它使用明确的案例标签的全部范围的鉴别器值
      • has_no_active_member

        boolean has_no_active_member​()
        如果联合没有活动成员,则返回true,即,联合值仅由其标识符组成,因为鉴别符具有未列为明确案例标签的值。 在具有默认情况的联合中调用此操作将返回false。 在使用整个范围的标识符值的显式案例标签的联合上调用此操作将返回false。
      • discriminator_kind

        TCKind discriminator_kind​()
        返回识别器TypeCode的TCKind值。
      • member_kind

        TCKind member_kind​()
                    throws InvalidValue
        返回当前活动成员TypeCode的TCKind值。
        异常
        InvalidValue - 如果联合没有当前活动的成员
      • member

        DynAny member​()
               throws InvalidValue
        返回当前活动的成员。 请注意,只要当前活动的成员不更改,返回的引用才会保持有效。 使用超出当前活动成员的生命周期的返回引用会引发OBJECT_NOT_EXIST。
        异常
        InvalidValue - 如果联合没有活动成员
      • member_name

        String member_name​()
                    throws InvalidValue
        返回当前活动成员的名称。 如果工会TypeCode不包含当前活动成员的成员名称,操作将返回一个空字符串。
        异常
        InvalidValue - 如果联合没有活动成员