| JavaTM 2 Platform Std. Ed. v1.6.0
org.omg.DynamicAny
Class _DynAnyStub
java.lang.Object
org.omg.CORBA.portable.ObjectImpl
org.omg.DynamicAny._DynAnyStub
- All Implemented Interfaces:
- Serializable, Object, IDLEntity, DynAny, DynAnyOperations
public class _DynAnyStub - extends ObjectImpl
- implements DynAny
Any values can be dynamically interpreted (traversed) and constructed through DynAny objects.
A DynAny object is associated with a data value which corresponds to a copy of the value
inserted into an any.
A DynAny object may be viewed as an ordered collection of component DynAnys.
For DynAnys representing a basic type, such as long, or a type without components,
such as an empty exception, the ordered collection of components is empty.
Each DynAny object maintains the notion of a current position into its collection
of component DynAnys. The current position is identified by an index value that runs
from 0 to n-1, where n is the number of components.
The special index value -1 indicates a current position that points nowhere.
For values that cannot have a current position (such as an empty exception),
the index value is fixed at -1.
If a DynAny is initialized with a value that has components, the index is initialized to 0.
After creation of an uninitialized DynAny (that is, a DynAny that has no value but a TypeCode
that permits components), the current position depends on the type of value represented by
the DynAny. (The current position is set to 0 or -1, depending on whether the new DynAny
gets default values for its components.)
The iteration operations rewind, seek, and next can be used to change the current position
and the current_component operation returns the component at the current position.
The component_count operation returns the number of components of a DynAny.
Collectively, these operations enable iteration over the components of a DynAny, for example,
to (recursively) examine its contents.
A constructed DynAny object is a DynAny object associated with a constructed type.
There is a different interface, inheriting from the DynAny interface, associated with
each kind of constructed type in IDL (fixed, enum, struct, sequence, union, array,
exception, and value type).
A constructed DynAny object exports operations that enable the creation of new DynAny objects,
each of them associated with a component of the constructed data value.
As an example, a DynStruct is associated with a struct value. This means that the DynStruct
may be seen as owning an ordered collection of components, one for each structure member.
The DynStruct object exports operations that enable the creation of new DynAny objects,
each of them associated with a member of the struct.
If a DynAny object has been obtained from another (constructed) DynAny object,
such as a DynAny representing a structure member that was created from a DynStruct,
the member DynAny is logically contained in the DynStruct.
Calling an insert or get operation leaves the current position unchanged.
Destroying a top-level DynAny object (one that was not obtained as a component of another DynAny)
also destroys any component DynAny objects obtained from it.
Destroying a non-top level DynAny object does nothing.
Invoking operations on a destroyed top-level DynAny or any of its descendants raises OBJECT_NOT_EXIST.
If the programmer wants to destroy a DynAny object but still wants to manipulate some component
of the data value associated with it, then he or she should first create a DynAny for the component
and, after that, make a copy of the created DynAny object.
The behavior of DynAny objects has been defined in order to enable efficient implementations
in terms of allocated memory space and speed of access. DynAny objects are intended to be used
for traversing values extracted from anys or constructing values of anys at runtime.
Their use for other purposes is not recommended.
Insert and get operations are necessary to handle basic DynAny objects
but are also helpful to handle constructed DynAny objects.
Inserting a basic data type value into a constructed DynAny object
implies initializing the current component of the constructed data value
associated with the DynAny object. For example, invoking insert_boolean on a
DynStruct implies inserting a boolean data value at the current position
of the associated struct data value.
A type is consistent for inserting or extracting a value if its TypeCode is equivalent to
the TypeCode contained in the DynAny or, if the DynAny has components, is equivalent to the TypeCode
of the DynAny at the current position.
DynAny and DynAnyFactory objects are intended to be local to the process in which they are
created and used. This means that references to DynAny and DynAnyFactory objects cannot be exported
to other processes, or externalized with ORB.object_to_string().
If any attempt is made to do so, the offending operation will raise a MARSHAL system exception.
Since their interfaces are specified in IDL, DynAny objects export operations defined in the standard
org.omg.CORBA.Object interface. However, any attempt to invoke operations exported through the Object
interface may raise the standard NO_IMPLEMENT exception.
An attempt to use a DynAny object with the DII may raise the NO_IMPLEMENT exception.
|
Method Summary |
String[] |
_ids()
Retrieves a string array containing the repository identifiers
supported by this ObjectImpl object. |
void |
assign(DynAny dyn_any)
Initializes the value associated with a DynAny object with the value
associated with another DynAny object. |
int |
component_count()
Returns the number of components of a DynAny. |
DynAny |
copy()
Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked. |
DynAny |
current_component()
Returns the DynAny for the component at the current position. |
void |
destroy()
Destroys a DynAny object. |
boolean |
equal(DynAny dyn_any)
Compares two DynAny values for equality. |
void |
from_any(Any value)
Initializes the value associated with a DynAny object with the value contained in an any. |
Any |
get_any()
Extracts an Any value contained in the Any represented by this DynAny. |
boolean |
get_boolean()
Extracts the boolean value from this DynAny. |
char |
get_char()
Extracts the char value from this DynAny. |
double |
get_double()
Extracts the double value from this DynAny. |
DynAny |
get_dyn_any()
Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
into a new DynAny. |
float |
get_float()
Extracts the float value from this DynAny. |
int |
get_long()
Extracts the integer value from this DynAny. |
long |
get_longlong()
Extracts the long value from this DynAny. |
byte |
get_octet()
Extracts the byte value from this DynAny. |
Object |
get_reference()
Extracts the reference to a CORBA Object from this DynAny. |
short |
get_short()
Extracts the short value from this DynAny. |
String |
get_string()
Extracts the string value from this DynAny. |
TypeCode |
get_typecode()
Extracts the TypeCode object from this DynAny. |
int |
get_ulong()
Extracts the integer value from this DynAny. |
long |
get_ulonglong()
Extracts the long value from this DynAny. |
short |
get_ushort()
Extracts the short value from this DynAny. |
Serializable |
get_val()
Extracts a Serializable object from this DynAny. |
char |
get_wchar()
Extracts the long value from this DynAny. |
String |
get_wstring()
Extracts the string value from this DynAny. |
void |
insert_any(Any value)
Inserts an Any value into the Any represented by this DynAny. |
void |
insert_boolean(boolean value)
Inserts a boolean value into the DynAny. |
void |
insert_char(char value)
Inserts a char value into the DynAny. |
void |
insert_double(double value)
Inserts a double value into the DynAny. |
void |
insert_dyn_any(DynAny value)
Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny. |
void |
insert_float(float value)
Inserts a float value into the DynAny. |
void |
insert_long(int value)
Inserts an integer value into the DynAny. |
void |
insert_longlong(long value)
Inserts a long value into the DynAny. |
void |
insert_octet(byte value)
Inserts a byte value into the DynAny. |
void |
insert_reference(Object value)
Inserts a reference to a CORBA object into the DynAny. |
void |
insert_short(short value)
Inserts a short value into the DynAny. |
void |
insert_string(String value)
Inserts a string value into the DynAny. |
void |
insert_typecode(TypeCode value)
Inserts a TypeCode object into the DynAny. |
void |
insert_ulong(int value)
Inserts an integer value into the DynAny. |
void |
insert_ulonglong(long value)
Inserts a long value into the DynAny. |
void |
insert_ushort(short value)
Inserts a short value into the DynAny. |
void |
insert_val(Serializable value)
Inserts a reference to a Serializable object into this DynAny. |
void |
insert_wchar(char value)
Inserts a char value into the DynAny. |
void |
insert_wstring(String value)
Inserts a string value into the DynAny. |
boolean |
next()
Advances the current position to the next component. |
void |
rewind()
Is equivalent to seek(0). |
boolean |
seek(int index)
Sets the current position to index. |
Any |
to_any()
Creates an any value from a DynAny object. |
TypeCode |
type()
Returns the TypeCode associated with this DynAny object. |
| Methods inherited from class org.omg.CORBA.portable.ObjectImpl |
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString |
| Methods inherited from interface org.omg.CORBA.Object |
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |
_opsClass
public static final Class _opsClass
_DynAnyStub
public _DynAnyStub()
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
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|