W3cubDocs

/OpenJDK 8 Web

Class _DynUnionStub

All Implemented Interfaces:
Serializable, Object, IDLEntity, DynAny, DynAnyOperations, DynUnion, DynUnionOperations
public class _DynUnionStub
extends ObjectImpl
implements DynUnion

DynUnion objects support the manipulation of IDL unions. A union can have only two valid current positions:

  • zero, which denotes the discriminator
  • one, which denotes the active member
The component_count value for a union depends on the current discriminator: it is 2 for a union whose discriminator indicates a named member, and 1 otherwise.

Fields

_opsClass

public static final Class _opsClass

Constructors

_DynUnionStub

public _DynUnionStub()

Methods

get_discriminator

public DynAny get_discriminator()

Returns the current discriminator value.

Specified by:
get_discriminator in interface DynUnionOperations

set_discriminator

public void set_discriminator(DynAny d)
                       throws TypeMismatch

Sets the discriminator of the DynUnion to the specified value. Setting the discriminator to a value that is consistent with the currently active union member does not affect the currently active member. Setting the discriminator to a value that is inconsistent with the currently active member deactivates the member and activates the member that is consistent with the new discriminator value (if there is a member for that value) by initializing the member to its default value. Setting the discriminator of a union sets the current position to 0 if the discriminator value indicates a non-existent union member (has_no_active_member returns true in this case). Otherwise, if the discriminator value indicates a named union member, the current position is set to 1 (has_no_active_member returns false and component_count returns 2 in this case).

Specified by:
set_discriminator in interface DynUnionOperations
Throws:
TypeMismatch - if the TypeCode of the parameter is not equivalent to the TypeCode of the union's discriminator

set_to_default_member

public void set_to_default_member()
                           throws TypeMismatch

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.

Specified by:
set_to_default_member in interface DynUnionOperations
Throws:
TypeMismatch - if the union does not have an explicit default case

set_to_no_active_member

public void set_to_no_active_member()
                             throws TypeMismatch

Sets the discriminator to a value that does not correspond to any of the unions case labels. It sets the current position to zero and causes component_count to return 1.

Specified by:
set_to_no_active_member in interface DynUnionOperations
Throws:
TypeMismatch - if the union has an explicit default case or if it uses the entire range of discriminator values for explicit case labels

has_no_active_member

public boolean has_no_active_member()

Returns true if the union has no active member, that is, the unions 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.

Specified by:
has_no_active_member in interface DynUnionOperations

discriminator_kind

public TCKind discriminator_kind()

Returns the TCKind value of the discriminators TypeCode.

Specified by:
discriminator_kind in interface DynUnionOperations

member_kind

public TCKind member_kind()
                   throws InvalidValue

Returns the TCKind value of the currently active members TypeCode.

Specified by:
member_kind in interface DynUnionOperations
Throws:
InvalidValue - if the union does not have a currently active member

member

public DynAny member()
              throws InvalidValue

Returns the currently active member. Note that the returned reference remains valid only for as long as the currently active member does not change. Using the returned reference beyond the life time of the currently active member raises OBJECT_NOT_EXIST.

Specified by:
member in interface DynUnionOperations
Throws:
InvalidValue - if the union has no active member

member_name

public String member_name()
                   throws InvalidValue

Returns the name of the currently active member. If the unions TypeCode does not contain a member name for the currently active member, the operation returns an empty string.

Specified by:
member_name in interface DynUnionOperations
Throws:
InvalidValue - if the union has no active member

type

public TypeCode type()

Returns the TypeCode associated with this DynAny object. A DynAny object is created with a TypeCode value assigned to it. This TypeCode value determines the type of the value handled through the DynAny object. Note that the TypeCode associated with a DynAny object is initialized at the time the DynAny is created and cannot be changed during lifetime of the DynAny object.

Specified by:
type in interface DynAnyOperations
Returns:
The TypeCode associated with this DynAny object

assign

public void assign(DynAny dyn_any)
            throws TypeMismatch

Initializes the value associated with a DynAny object with the value associated with another DynAny object. The current position of the target DynAny is set to zero for values that have components and to -1 for values that do not have components.

Specified by:
assign in interface DynAnyOperations
Parameters:
dyn_any -
Throws:
TypeMismatch - if the type of the passed DynAny is not equivalent to the type of target DynAny

from_any

public void from_any(Any value)
              throws TypeMismatch,
                     InvalidValue

Initializes the value associated with a DynAny object with the value contained in an any. The current position of the target DynAny is set to zero for values that have components and to -1 for values that do not have components.

Specified by:
from_any in interface DynAnyOperations
Throws:
TypeMismatch - if the type of the passed Any is not equivalent to the type of target DynAny
InvalidValue - if the passed Any does not contain a legal value (such as a null string)

to_any

public Any to_any()

Creates an any value from a DynAny object. A copy of the TypeCode associated with the DynAny object is assigned to the resulting any. The value associated with the DynAny object is copied into the any.

Specified by:
to_any in interface DynAnyOperations
Returns:
a new Any object with the same value and TypeCode

equal

public boolean equal(DynAny dyn_any)

Compares two DynAny values for equality. Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys have equal values. The current position of the two DynAnys being compared has no effect on the result of equal.

Specified by:
equal in interface DynAnyOperations
Returns:
true of the DynAnys are equal, false otherwise

destroy

public void destroy()

Destroys a DynAny object. This operation frees any resources used to represent the data value associated with a DynAny object. It must be invoked on references obtained from one of the creation operations on the ORB interface or on a reference returned by DynAny.copy() to avoid resource leaks. Invoking destroy on component DynAny objects (for example, on objects returned by the current_component operation) does nothing. Destruction of a DynAny object implies destruction of all DynAny objects obtained from it. That is, references to components of a destroyed DynAny become invalid. Invocations on such references raise OBJECT_NOT_EXIST. It is possible to manipulate a component of a DynAny beyond the life time of the DynAny from which the component was obtained by making a copy of the component with the copy operation before destroying the DynAny from which the component was obtained.

Specified by:
destroy in interface DynAnyOperations

copy

public DynAny copy()

Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked. The operation is polymorphic, that is, invoking it on one of the types derived from DynAny, such as DynStruct, creates the derived type but returns its reference as the DynAny base type.

Specified by:
copy in interface DynAnyOperations
Returns:
a deep copy of the DynAny object

insert_boolean

public void insert_boolean(boolean value)
                    throws TypeMismatch,
                           InvalidValue

Inserts a boolean value into the DynAny.

Specified by:
insert_boolean in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_octet

public void insert_octet(byte value)
                  throws TypeMismatch,
                         InvalidValue

Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.

Specified by:
insert_octet in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_char

public void insert_char(char value)
                 throws TypeMismatch,
                        InvalidValue

Inserts a char value into the DynAny.

Specified by:
insert_char in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_short

public void insert_short(short value)
                  throws TypeMismatch,
                         InvalidValue

Inserts a short value into the DynAny.

Specified by:
insert_short in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_ushort

public void insert_ushort(short value)
                   throws TypeMismatch,
                          InvalidValue

Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.

Specified by:
insert_ushort in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_long

public void insert_long(int value)
                 throws TypeMismatch,
                        InvalidValue

Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.

Specified by:
insert_long in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_ulong

public void insert_ulong(int value)
                  throws TypeMismatch,
                         InvalidValue

Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.

Specified by:
insert_ulong in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_float

public void insert_float(float value)
                  throws TypeMismatch,
                         InvalidValue

Inserts a float value into the DynAny.

Specified by:
insert_float in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_double

public void insert_double(double value)
                   throws TypeMismatch,
                          InvalidValue

Inserts a double value into the DynAny.

Specified by:
insert_double in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_string

public void insert_string(String value)
                   throws TypeMismatch,
                          InvalidValue

Inserts a string value into the DynAny. Both bounded and unbounded strings are inserted using this method.

Specified by:
insert_string in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
InvalidValue - if the string inserted is longer than the bound of a bounded string
TypeMismatch - if called on a DynAny whose current component itself has components

insert_reference

public void insert_reference(Object value)
                      throws TypeMismatch,
                             InvalidValue

Inserts a reference to a CORBA object into the DynAny.

Specified by:
insert_reference in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_typecode

public void insert_typecode(TypeCode value)
                     throws TypeMismatch,
                            InvalidValue

Inserts a TypeCode object into the DynAny.

Specified by:
insert_typecode in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_longlong

public void insert_longlong(long value)
                     throws TypeMismatch,
                            InvalidValue

Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.

Specified by:
insert_longlong in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_ulonglong

public void insert_ulonglong(long value)
                      throws TypeMismatch,
                             InvalidValue

Inserts a long value into the DynAny. The IDL unsigned long long data type is mapped to the Java long data type.

Specified by:
insert_ulonglong in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_wchar

public void insert_wchar(char value)
                  throws TypeMismatch,
                         InvalidValue

Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.

Specified by:
insert_wchar in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_wstring

public void insert_wstring(String value)
                    throws TypeMismatch,
                           InvalidValue

Inserts a string value into the DynAny. Both bounded and unbounded strings are inserted using this method.

Specified by:
insert_wstring in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
InvalidValue - if the string inserted is longer than the bound of a bounded string
TypeMismatch

insert_any

public void insert_any(Any value)
                throws TypeMismatch,
                       InvalidValue

Inserts an Any value into the Any represented by this DynAny.

Specified by:
insert_any in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_dyn_any

public void insert_dyn_any(DynAny value)
                    throws TypeMismatch,
                           InvalidValue

Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.

Specified by:
insert_dyn_any in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

insert_val

public void insert_val(Serializable value)
                throws TypeMismatch,
                       InvalidValue

Inserts a reference to a Serializable object into this DynAny. The IDL ValueBase type is mapped to the Java Serializable type.

Specified by:
insert_val in interface DynAnyOperations
Throws:
InvalidValue - if this DynAny has components but has a current position of -1
TypeMismatch - if called on a DynAny whose current component itself has components

get_boolean

public boolean get_boolean()
                    throws TypeMismatch,
                           InvalidValue

Extracts the boolean value from this DynAny.

Specified by:
get_boolean in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_octet

public byte get_octet()
               throws TypeMismatch,
                      InvalidValue

Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.

Specified by:
get_octet in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_char

public char get_char()
              throws TypeMismatch,
                     InvalidValue

Extracts the char value from this DynAny.

Specified by:
get_char in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_short

public short get_short()
                throws TypeMismatch,
                       InvalidValue

Extracts the short value from this DynAny.

Specified by:
get_short in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_ushort

public short get_ushort()
                 throws TypeMismatch,
                        InvalidValue

Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.

Specified by:
get_ushort in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_long

public int get_long()
             throws TypeMismatch,
                    InvalidValue

Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.

Specified by:
get_long in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_ulong

public int get_ulong()
              throws TypeMismatch,
                     InvalidValue

Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.

Specified by:
get_ulong in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_float

public float get_float()
                throws TypeMismatch,
                       InvalidValue

Extracts the float value from this DynAny.

Specified by:
get_float in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_double

public double get_double()
                  throws TypeMismatch,
                         InvalidValue

Extracts the double value from this DynAny.

Specified by:
get_double in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_string

public String get_string()
                  throws TypeMismatch,
                         InvalidValue

Extracts the string value from this DynAny. Both bounded and unbounded strings are extracted using this method.

Specified by:
get_string in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_reference

public Object get_reference()
                     throws TypeMismatch,
                            InvalidValue

Extracts the reference to a CORBA Object from this DynAny.

Specified by:
get_reference in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_typecode

public TypeCode get_typecode()
                      throws TypeMismatch,
                             InvalidValue

Extracts the TypeCode object from this DynAny.

Specified by:
get_typecode in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_longlong

public long get_longlong()
                  throws TypeMismatch,
                         InvalidValue

Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.

Specified by:
get_longlong in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_ulonglong

public long get_ulonglong()
                   throws TypeMismatch,
                          InvalidValue

Extracts the long value from this DynAny. The IDL unsigned long long data type is mapped to the Java long data type.

Specified by:
get_ulonglong in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_wchar

public char get_wchar()
               throws TypeMismatch,
                      InvalidValue

Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.

Specified by:
get_wchar in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_wstring

public String get_wstring()
                   throws TypeMismatch,
                          InvalidValue

Extracts the string value from this DynAny. Both bounded and unbounded strings are extracted using this method.

Specified by:
get_wstring in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue

get_any

public Any get_any()
            throws TypeMismatch,
                   InvalidValue

Extracts an Any value contained in the Any represented by this DynAny.

Specified by:
get_any in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_dyn_any

public DynAny get_dyn_any()
                   throws TypeMismatch,
                          InvalidValue

Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped into a new DynAny.

Specified by:
get_dyn_any in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

get_val

public Serializable get_val()
                     throws TypeMismatch,
                            InvalidValue

Extracts a Serializable object from this DynAny. The IDL ValueBase type is mapped to the Java Serializable type.

Specified by:
get_val in interface DynAnyOperations
Throws:
TypeMismatch - if the accessed component in the DynAny is of a type that is not equivalent to the requested type.
TypeMismatch - if called on a DynAny whose current component itself has components
InvalidValue - if this DynAny has components but has a current position of -1

seek

public boolean seek(int index)

Sets the current position to index. The current position is indexed 0 to n-1, that is, index zero corresponds to the first component. The operation returns true if the resulting current position indicates a component of the DynAny and false if index indicates a position that does not correspond to a component. Calling seek with a negative index is legal. It sets the current position to -1 to indicate no component and returns false. Passing a non-negative index value for a DynAny that does not have a component at the corresponding position sets the current position to -1 and returns false.

Specified by:
seek in interface DynAnyOperations

rewind

public void rewind()

Is equivalent to seek(0).

Specified by:
rewind in interface DynAnyOperations

next

public boolean next()

Advances the current position to the next component. The operation returns true while the resulting current position indicates a component, false otherwise. A false return value leaves the current position at -1. Invoking next on a DynAny without components leaves the current position at -1 and returns false.

Specified by:
next in interface DynAnyOperations

component_count

public int component_count()

Returns the number of components of a DynAny. For a DynAny without components, it returns zero. The operation only counts the components at the top level. For example, if component_count is invoked on a DynStruct with a single member, the return value is 1, irrespective of the type of the member.

  • For sequences, the operation returns the current number of elements.
  • For structures, exceptions, and value types, the operation returns the number of members.
  • For arrays, the operation returns the number of elements.
  • For unions, the operation returns 2 if the discriminator indicates that a named member is active, otherwise, it returns 1.
  • For DynFixed and DynEnum, the operation returns zero.
Specified by:
component_count in interface DynAnyOperations

current_component

public DynAny current_component()
                         throws TypeMismatch

Returns the DynAny for the component at the current position. It does not advance the current position, so repeated calls to current_component without an intervening call to rewind, next, or seek return the same component. The returned DynAny object reference can be used to get/set the value of the current component. If the current component represents a complex type, the returned reference can be narrowed based on the TypeCode to get the interface corresponding to the to the complex type. Calling current_component on a DynAny that cannot have components, such as a DynEnum or an empty exception, raises TypeMismatch. Calling current_component on a DynAny whose current position is -1 returns a nil reference. The iteration operations, together with current_component, can be used to dynamically compose an any value. After creating a dynamic any, such as a DynStruct, current_component and next can be used to initialize all the components of the value. Once the dynamic value is completely initialized, to_any creates the corresponding any value.

Specified by:
current_component in interface DynAnyOperations
Throws:
TypeMismatch - If called on a DynAny that cannot have components, such as a DynEnum or an empty exception

_ids

public String[] _ids()

Description copied from class: ObjectImpl

Retrieves a string array containing the repository identifiers supported by this ObjectImpl object. For example, for a stub, this method returns information about all the interfaces supported by the stub.

Specified by:
_ids in class ObjectImpl
Returns:
the array of all repository identifiers supported by this ObjectImpl instance

© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.