org.jacorb.orb.dynany
public final class DynUnion extends DynAny implements DynUnion
Version: $Id: DynUnion.java,v 1.29 2006/07/05 09:18:11 alphonse.bendt Exp $
Method Summary | |
---|---|
int | component_count()
Overrides component_count() in DynAny |
DynAny | current_component() |
void | destroy() |
TCKind | discriminator_kind() |
boolean | equal(DynAny dyn_any)
Overrides equal() in DynAny |
void | from_any(Any value)
Overrides from_any() in DynAny |
DynAny | get_discriminator() |
boolean | has_no_active_member() |
DynAny | member() |
TCKind | member_kind() |
String | member_name() |
boolean | next()
Overrides next() in DynAny |
boolean | seek(int index)
Overrides seek() in DynAny |
void | set_discriminator(DynAny dynAny)
sets the discriminator to d |
void | set_to_default_member()
sets the discriminator to a value that is consistent with the
value of the default case of a union; it sets the current
position to zero and causes component_count to return 2.
|
void | set_to_no_active_member()
sets the discriminator to a value that does not correspond to
any of the union's case labels; it sets the current position
to zero and causes component_count to return 1.
|
Any | to_any() |
Returns: the TCKind value of the discriminator's TypeCode.
Returns: the current discriminator value
Returns: true, if the union has no active member (that is, the union's value consists solely of its discriminator because the discriminator has a value that is not listed as an explicit case label). Calling this operation on a union that has a default case returns false. Calling this operation on a union that uses the entire range of discriminator values for explicit case labels returns false.
Returns: the currently active member.
Throws: InvalidValue if the union has no active member
Returns: the TypeCode kind of the currently active member.
Throws: InvalidValue if the union has no active member
Returns: the name of the currently active member.
Throws: InvalidValue if the union has no active member
Throws: TypeMismatch if the TypeCode of the d parameter is not equivalent to the TypeCode of the union's discriminator
Throws: TypeMismatch if the union does not have an explicit default case.
Throws: TypeMismatch if the union has an explicit default case or uses the entire range of discriminator values for explicit case labels.
Returns: an Any that holds a copy of this union