VisiBroker for Java

org.omg.DynamicAny
Interface DynAnyOperations

All Known Subinterfaces:
DynAny, DynArray, DynArrayOperations, DynEnum, DynEnumOperations, DynFixed, DynFixedOperations, DynSequence, DynSequenceOperations, DynStruct, DynStructOperations, DynUnion, DynUnionOperations, DynValue, DynValueBox, DynValueBoxOperations, DynValueCommon, DynValueCommonOperations, DynValueOperations
All Known Implementing Classes:
_DynAnyStub, _DynArrayStub, _DynEnumStub, _DynFixedStub, _DynSequenceStub, _DynStructStub, _DynUnionStub, _DynValueStub

public interface DynAnyOperations

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.

DynAny 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 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
 void assign(DynAny dyn_any)
          The assign operation initializes the value associated with a DynAny object with the value associated with another DynAny object.
 int component_count()
          The component_count operation returns the number of components of a DynAny.
 DynAny copy()
          The copy operation creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
 DynAny current_component()
          The current_component operation returns the DynAny for the component at the current position.
 void destroy()
          The destroy operation destroys a DynAny object.
 boolean equal(DynAny dyn_any)
          The equal operation compares two DynAny values for equality and returns true of the DynAnys are equal, false otherwise.
 void from_any(Any value)
          The from_any operation 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.
 java.lang.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.
 java.io.Serializable get_val()
          Extracts a Serializable object from this DynAny.
 char get_wchar()
          Extracts the long value from this DynAny.
 java.lang.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(java.lang.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(java.io.Serializable value)
          Inserts a reference to a Serializable object into this DynAny.
 void insert_wchar(char value)
          Extracts the long value from this DynAny.
 void insert_wstring(java.lang.String value)
          Extracts the string value from this DynAny.
 boolean next()
          The next operation advances the current position to the next component.
 void rewind()
          The rewind operation is equivalent to calling seek(0);
 boolean seek(int index)
          The seek operation sets the current position to index.
 Any to_any()
          The to_any operation creates an any value from a DynAny object.
 TypeCode type()
          A DynAny object is created with a TypeCode value assigned to it.
 

Method Detail

current_component

DynAny current_component()
                         throws TypeMismatch
The current_component operation 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.

Returns:
the currently selected component throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch if this DynAny type cannot have a current component
Throws:
TypeMismatch

component_count

int component_count()
The component_count operation 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 valuetypes, 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.

Returns:
number of components contained in this DynAny

next

boolean next()
The next operation 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.

Returns:
true, if there is a valid component, false otherwise

rewind

void rewind()
The rewind operation is equivalent to calling seek(0);


seek

boolean seek(int index)
The seek operation 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.

Parameters:
index - the new component index
Returns:
true, if the index is valid, false otherwise

get_val

java.io.Serializable get_val()
                             throws TypeMismatch,
                                    InvalidValue
Extracts a Serializable object from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_dyn_any

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.

Throws:
TypeMismatch
InvalidValue

get_any

Any get_any()
            throws TypeMismatch,
                   InvalidValue
Extracts an Any value contained in the Any represented by this DynAny.

Throws:
TypeMismatch
InvalidValue

get_wstring

java.lang.String get_wstring()
                             throws TypeMismatch,
                                    InvalidValue
Extracts the string value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_wchar

char get_wchar()
               throws TypeMismatch,
                      InvalidValue
Extracts the long value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_ulonglong

long get_ulonglong()
                   throws TypeMismatch,
                          InvalidValue
Extracts the long value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_longlong

long get_longlong()
                  throws TypeMismatch,
                         InvalidValue
Extracts the long value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_typecode

TypeCode get_typecode()
                      throws TypeMismatch,
                             InvalidValue
Extracts the TypeCode object from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_reference

Object get_reference()
                     throws TypeMismatch,
                            InvalidValue
Extracts the reference to a CORBA Object from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_string

java.lang.String get_string()
                            throws TypeMismatch,
                                   InvalidValue
Extracts the string value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_double

double get_double()
                  throws TypeMismatch,
                         InvalidValue
Extracts the double value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_float

float get_float()
                throws TypeMismatch,
                       InvalidValue
Extracts the float value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_ulong

int get_ulong()
              throws TypeMismatch,
                     InvalidValue
Extracts the integer value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_long

int get_long()
             throws TypeMismatch,
                    InvalidValue
Extracts the integer value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_ushort

short get_ushort()
                 throws TypeMismatch,
                        InvalidValue
Extracts the short value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_short

short get_short()
                throws TypeMismatch,
                       InvalidValue
Extracts the short value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_char

char get_char()
              throws TypeMismatch,
                     InvalidValue
Extracts the char value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_octet

byte get_octet()
               throws TypeMismatch,
                      InvalidValue
Extracts the byte value from this DynAny.

Throws:
TypeMismatch
InvalidValue

get_boolean

boolean get_boolean()
                    throws TypeMismatch,
                           InvalidValue
Extracts the boolean value from this DynAny.

Throws:
TypeMismatch
InvalidValue

insert_val

void insert_val(java.io.Serializable value)
                throws TypeMismatch,
                       InvalidValue
Inserts a reference to a Serializable object into this DynAny.

Throws:
TypeMismatch
InvalidValue

insert_dyn_any

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.

Throws:
TypeMismatch
InvalidValue

insert_any

void insert_any(Any value)
                throws TypeMismatch,
                       InvalidValue
Inserts an Any value into the Any represented by this DynAny.

Throws:
TypeMismatch
InvalidValue

insert_wstring

void insert_wstring(java.lang.String value)
                    throws TypeMismatch,
                           InvalidValue
Extracts the string value from this DynAny.

Throws:
TypeMismatch
InvalidValue

insert_wchar

void insert_wchar(char value)
                  throws TypeMismatch,
                         InvalidValue
Extracts the long value from this DynAny.

Throws:
TypeMismatch
InvalidValue

insert_ulonglong

void insert_ulonglong(long value)
                      throws TypeMismatch,
                             InvalidValue
Inserts a long value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_longlong

void insert_longlong(long value)
                     throws TypeMismatch,
                            InvalidValue
Inserts a long value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_typecode

void insert_typecode(TypeCode value)
                     throws TypeMismatch,
                            InvalidValue
Inserts a TypeCode object into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_reference

void insert_reference(Object value)
                      throws TypeMismatch,
                             InvalidValue
Inserts a reference to a CORBA object into the DynAny

Throws:
TypeMismatch
InvalidValue

insert_string

void insert_string(java.lang.String value)
                   throws TypeMismatch,
                          InvalidValue
Inserts a string value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_double

void insert_double(double value)
                   throws TypeMismatch,
                          InvalidValue
Inserts a double value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_float

void insert_float(float value)
                  throws TypeMismatch,
                         InvalidValue
Inserts a float value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_ulong

void insert_ulong(int value)
                  throws TypeMismatch,
                         InvalidValue
Inserts an integer value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_long

void insert_long(int value)
                 throws TypeMismatch,
                        InvalidValue
Inserts an integer value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_ushort

void insert_ushort(short value)
                   throws TypeMismatch,
                          InvalidValue
Inserts a short value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_short

void insert_short(short value)
                  throws TypeMismatch,
                         InvalidValue
Inserts a short value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_char

void insert_char(char value)
                 throws TypeMismatch,
                        InvalidValue
Inserts a char value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_octet

void insert_octet(byte value)
                  throws TypeMismatch,
                         InvalidValue
Inserts a byte value into the DynAny.

Throws:
TypeMismatch
InvalidValue

insert_boolean

void insert_boolean(boolean value)
                    throws TypeMismatch,
                           InvalidValue
Inserts a boolean value into the DynAny.

Throws:
TypeMismatch
InvalidValue

copy

DynAny copy()
The copy operation 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.

Returns:
a fresh copy of the current DynAny contents

destroy

void destroy()
The destroy operation destroys a DynAny object. This operation frees any resources used to represent the data value associated with a DynAny object. destroy 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.


equal

boolean equal(DynAny dyn_any)
The equal operation compares two DynAny values for equality and returns true of the DynAnys are equal, false otherwise. 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.

Parameters:
dyn_any - the DynAny to compare with
Returns:
true, if equal, false otherwise

to_any

Any to_any()
The to_any operation 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 asociated with the DynAny object is copied into the any.

Returns:
an any instance which represents the current DynAny contents

from_any

void from_any(Any value)
              throws TypeMismatch,
                     InvalidValue

The from_any operation initializes the value associated with a DynAny object with the value contained in an any. If the type of the passed Any is not equivalent to the type of target DynAny, the operation raises TypeMismatch. If the passed Any does not contain a legal value (such as a null string), the operation raises InvalidValue. 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.

Parameters:
value - the any from which to assign throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch if both types are not equivalent
Throws:
TypeMismatch
InvalidValue

assign

void assign(DynAny dyn_any)
            throws TypeMismatch
The assign operation initializes the value associated with a DynAny object with the value associated with another DynAny object.

If the type of the passed DynAny is not equivalent to the type of target DynAny, the operation raises TypeMismatch. 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.

Parameters:
dyn_any - the DynAny object to assign throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch if both types are not equivalent
Throws:
TypeMismatch

type

TypeCode type()
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. The type operation returns the TypeCode associated with a 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.

Returns:
the associated typecode

Borland Software Corporation
http://www.borland.com
100 Enterprise Way
Scotts Valley, CA 95066
Voice: (831) 431-1000
pubsweb@borland.com

Read the latest documentation online