org.omg.DynamicAny

Interface DynAnyOperations

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

public interface DynAnyOperations

Defines the operations, applicable to DynAny.

Method Summary

void
assign(DynAny from)
Initialises the value of this DynAny with the value, stored inside the passed DynAny, making a shallow copy.
int
component_count()
Get the number number of fields in the enclosed structure or number of memebers in the enclosed array, sequence, enumeration, etc.
DynAny
copy()
Fully clones the content of this Any, returning a deep copy.
DynAny
current_component()
Returns the focused component of this DynAny.
void
destroy()
Destroys this DynAny, freeing the used resources.
boolean
equal(DynAny other)
Checks for equality with another Dynamic Any.
void
from_any(Any an_any)
Makes a DynAny from the Any.
Any
get_any()
This method is used when the wrapped Any contains an instance of another Any itself.
boolean
get_boolean()
Extract the boolean value that is expected to be stored in this DynAny.
char
get_char()
Extract the char value that is expected to be stored in this DynAny.
double
get_double()
Extract the double value that is expected to be stored in this DynAny.
DynAny
get_dyn_any()
Return DynAny, wrapping the second (enclosed any) that is stored in the wrapped Any.
float
get_float()
Extract the float value that is expected to be stored in this DynAny.
int
get_long()
Extract the int (CORBA long) value that is expected to be stored in this DynAny.
long
get_longlong()
Extract the long (CORBA long long) value that is expected to be stored in this DynAny.
byte
get_octet()
Extract the byte (CORBA octet) value that is expected to be stored in this DynAny.
Object
get_reference()
Extract the CORBA object reference that is expected to be stored in this DynAny.
short
get_short()
Extract the short value that is expected to be stored in this DynAny.
String
get_string()
Extract the string value that is expected to be stored in this DynAny.
TypeCode
get_typecode()
Extract the TypeCode value that is expected to be stored in this DynAny.
int
get_ulong()
Extract the unsigned int (CORBA ulong) value that is expected to be stored in this DynAny.
long
get_ulonglong()
Extract the unsingel long (CORBA unsigned long long )value that is expected to be stored in this DynAny.
short
get_ushort()
Extract the unsigned short value that is expected to be stored in this DynAny.
Serializable
get_val()
Extract the value that is expected to be stored in this DynAny.
char
get_wchar()
Extract the wide (usually UTF-16) character value that is expected to be stored in this DynAny.
String
get_wstring()
Extract the wide (usually UFT-16) string that is expected to be stored in this DynAny.
void
insert_any(Any an_any)
Insert the Any value into the enclosed Any inside this DynAny.
void
insert_boolean(boolean a_x)
Insert the boolean value into the enclosed Any inside this DynAny
void
insert_char(char a_x)
Insert the char value into the enclosed Any inside this DynAny
void
insert_double(double a_x)
Insert the double value into the enclosed Any inside this DynAny
void
insert_dyn_any(DynAny insert_it)
Insert a value at the current position.
void
insert_float(float a_x)
Insert the float value into the enclosed Any inside this DynAny
void
insert_long(int a_x)
Insert the int (CORBA long) value into the enclosed Any inside this DynAny
void
insert_longlong(long a_x)
Insert the long (CORBA long long) value into the enclosed Any inside this DynAny
void
insert_octet(byte a_x)
Insert the byte (CORBA octet) value into the enclosed Any inside this DynAny
void
insert_reference(Object a_x)
Insert the object reference into the enclosed Any inside this DynAny
void
insert_short(short a_x)
Insert the short value into the enclosed Any inside this DynAny
void
insert_string(String a_x)
Insert the string value into the enclosed Any inside this DynAny
void
insert_typecode(TypeCode a_x)
Insert the TypeCode value into the enclosed Any inside this DynAny
void
insert_ulong(int a_x)
Insert the int (CORBA unsinged long) value into the enclosed Any inside this DynAny
void
insert_ulonglong(long a_x)
Insert the long (CORBA unsigned long long) value into the enclosed Any inside this DynAny
void
insert_ushort(short a_x)
Insert the short (CORBA unsigned short) value into the enclosed Any inside this DynAny
void
insert_val(Serializable a_x)
Insert the value into the enclosed Any inside this DynAny
void
insert_wchar(char a_x)
Insert the wide char (usually UTF-16) value into the enclosed Any inside this DynAny
void
insert_wstring(String a_x)
Insert the wide string (usually UTF-16) into the enclosed Any inside this DynAny
boolean
next()
Advances the internal pointer, described in the current_component(), one position forward.
void
rewind()
Moves the internal pointer, described in the current_component(), to the first component.
boolean
seek(int p)
Moves the internal pointer, described in the current_component(), to the given position.
Any
to_any()
Returns a shallow copy of the enclosed Any,
TypeCode
type()
Returns the typecode of the object, inserted into this DynAny.

Method Details

assign

public void assign(DynAny from)
            throws TypeMismatch
Initialises the value of this DynAny with the value, stored inside the passed DynAny, making a shallow copy.
Parameters:
from - the DynAny to copy from.
Throws:
TypeMismatch - if the source DynAny is invalid.

component_count

public int component_count()
Get the number number of fields in the enclosed structure or number of memebers in the enclosed array, sequence, enumeration, etc. This method only counts elements at the top level. For instance, if invoked on a DynStruct with a single member, it returns 1, irrespective of the type of the member.
Returns:
number of components or 0 if the enclosed Any is not divideable.

copy

public DynAny copy()
Fully clones the content of this Any, returning a deep copy.

current_component

public DynAny current_component()
            throws TypeMismatch
Returns the focused component of this DynAny. The DynAny has the internal pointer (reference) that can point to one of its components. The returned DynAny can be used to get or set the value of the focused component. If the DynAny holds a primitive type with no components, this implementation returns null.
Throws:
TypeMismatch - if called on DynAny that cannot have active components, like DynEnum.

destroy

public void destroy()
Destroys this DynAny, freeing the used resources. In java, resources are freed by the garbage collectors, so this method typically returns without action.

equal

public boolean equal(DynAny other)
Checks for equality with another Dynamic Any.

from_any

public void from_any(Any an_any)
            throws TypeMismatch,
                   InvalidValue
Makes a DynAny from the Any. The passed Any becomes the enclosed instance of this DynAny, allowing to change/traverse the Any fields by the DynAny methods.
Throws:
TypeMismatch - if the type of this DynAny differs from the type of the passed Any. The DynAny cannot be reused with the enclosed type different from that it was initially created.
InvalidValue - if the value, stored in the passed parameter, is otherwise invalid.

get_any

public Any get_any()
            throws TypeMismatch,
                   InvalidValue
This method is used when the wrapped Any contains an instance of another Any itself. The method returns this second enclosed Any.
Throws:
TypeMismatch - if the typecode of the accessed Any is not the same as the typecode of this DynAny.

get_boolean

public boolean get_boolean()
            throws TypeMismatch,
                   InvalidValue
Extract the boolean value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_char

public char get_char()
            throws TypeMismatch,
                   InvalidValue
Extract the char value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_double

public double get_double()
            throws TypeMismatch,
                   InvalidValue
Extract the double value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_dyn_any

public DynAny get_dyn_any()
            throws TypeMismatch,
                   InvalidValue
Return DynAny, wrapping the second (enclosed any) that is stored in the wrapped Any.
Throws:
TypeMismatch - if the wrapped Any does not store another Any.
InvalidValue - if the current position points nowhere.

get_float

public float get_float()
            throws TypeMismatch,
                   InvalidValue
Extract the float value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_long

public int get_long()
            throws TypeMismatch,
                   InvalidValue
Extract the int (CORBA long) value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_longlong

public long get_longlong()
            throws TypeMismatch,
                   InvalidValue
Extract the long (CORBA long long) value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_octet

public byte get_octet()
            throws TypeMismatch,
                   InvalidValue
Extract the byte (CORBA octet) value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_reference

public Object get_reference()
            throws TypeMismatch,
                   InvalidValue
Extract the CORBA object reference that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_short

public short get_short()
            throws TypeMismatch,
                   InvalidValue
Extract the short value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_string

public String get_string()
            throws TypeMismatch,
                   InvalidValue
Extract the string value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_typecode

public TypeCode get_typecode()
            throws TypeMismatch,
                   InvalidValue
Extract the TypeCode value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_ulong

public int get_ulong()
            throws TypeMismatch,
                   InvalidValue
Extract the unsigned int (CORBA ulong) value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_ulonglong

public long get_ulonglong()
            throws TypeMismatch,
                   InvalidValue
Extract the unsingel long (CORBA unsigned long long )value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_ushort

public short get_ushort()
            throws TypeMismatch,
                   InvalidValue
Extract the unsigned short value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_val

public Serializable get_val()
            throws TypeMismatch,
                   InvalidValue
Extract the value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_wchar

public char get_wchar()
            throws TypeMismatch,
                   InvalidValue
Extract the wide (usually UTF-16) character value that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

get_wstring

public String get_wstring()
            throws TypeMismatch,
                   InvalidValue
Extract the wide (usually UFT-16) string that is expected to be stored in this DynAny.
Throws:
TypeMismatch - if this DynAny holds the value of the different type.

insert_any

public void insert_any(Any an_any)
            throws TypeMismatch,
                   InvalidValue
Insert the Any value into the enclosed Any inside this DynAny.
Parameters:
an_any - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_boolean

public void insert_boolean(boolean a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the boolean value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_char

public void insert_char(char a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the char value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_double

public void insert_double(double a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the double value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_dyn_any

public void insert_dyn_any(DynAny insert_it)
            throws TypeMismatch,
                   InvalidValue
Insert a value at the current position.
Parameters:
insert_it - a value to insert.
Throws:
TypeMismatch - if the component at the current position has a different type.
InvalidValue - if the current position points nowhere.

insert_float

public void insert_float(float a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the float value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_long

public void insert_long(int a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the int (CORBA long) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_longlong

public void insert_longlong(long a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the long (CORBA long long) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_octet

public void insert_octet(byte a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the byte (CORBA octet) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_reference

public void insert_reference(Object a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the object reference into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_short

public void insert_short(short a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the short value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_string

public void insert_string(String a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the string value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_typecode

public void insert_typecode(TypeCode a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the TypeCode value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_ulong

public void insert_ulong(int a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the int (CORBA unsinged long) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_ulonglong

public void insert_ulonglong(long a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the long (CORBA unsigned long long) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_ushort

public void insert_ushort(short a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the short (CORBA unsigned short) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_val

public void insert_val(Serializable a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_wchar

public void insert_wchar(char a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the wide char (usually UTF-16) value into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

insert_wstring

public void insert_wstring(String a_x)
            throws InvalidValue,
                   TypeMismatch
Insert the wide string (usually UTF-16) into the enclosed Any inside this DynAny
Parameters:
a_x - the value being inserted.
Throws:
InvalidValue - if the value type does not match the typecode of the enclosed Any.

next

public boolean next()
Advances the internal pointer, described in the current_component(), one position forward.
Returns:
true if the pointer now points to the new component, false if there are no more components of this DynAny holds a basic type that is not divided into components.

rewind

public void rewind()
Moves the internal pointer, described in the current_component(), to the first component.

seek

public boolean seek(int p)
Moves the internal pointer, described in the current_component(), to the given position.
Parameters:
p - the number of the internal component on that the internal pointer must be focused.
Returns:
true on success or false if there is no component with the given number. If the DynAny holds the basic type, this method returs false p values other than 0.

to_any

public Any to_any()
Returns a shallow copy of the enclosed Any,
Returns:
shallow copy of the enclosed Any.

type

public TypeCode type()
Returns the typecode of the object, inserted into this DynAny.
Returns:
the typecode of the inserted Any or null typecode if no has been yet inserted.

DynAnyOperations.java -- Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.