org.omg.CORBA

Interface DynAny

All Superinterfaces:
Object
Known Subinterfaces:
DynArray, DynEnum, DynFixed, DynSequence, DynStruct, DynUnion, DynValue

public interface DynAny
extends Object

The DynAny interface provides possibility to access the components of the CORBA object, stored inside the Any. The Any itself allows to read, write and pass as parameter the stored value without knowning its exact data type. The DynAny and derived classes additionally allows to access the members of the sequence, structure, union and get the data about enumeration, value type and CORBA fixed without knowing the exact type at the run time. The returned members are also wrapped into DynAny objects, allowing them to be the nested structures.

Method Summary

void
assign(DynAny from)
Copy one DynAny into another.
DynAny
copy()
Clones this DynAny.
DynAny
current_component()
Returns the focused component of this DynAny.
void
destroy()
Destroys this DynAny, freeing the used resources.
void
from_any(Any an_any)
Makes a DynAny from the Any.
Any
get_any()
Retrieves the Any, stored inside this DynAny.
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.
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_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 the enclosed Any.
TypeCode
type()
Returns the typecode of the object, inserted into this DynAny.

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

Method Details

assign

public void assign(DynAny from)
            throws Invalid
Copy one DynAny into another.
Parameters:
from - the DynAny to copy from.
Throws:
Invalid - if the source DynAny is invalid.

copy

public DynAny copy()
Clones this DynAny.

current_component

public DynAny current_component()
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 this.

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.

from_any

public void from_any(Any an_any)
            throws Invalid
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.

get_any

public Any get_any()
            throws TypeMismatch
Retrieves the Any, stored inside this DynAny.
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
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
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
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_float

public float get_float()
            throws TypeMismatch
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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_float

public void insert_float(float a_x)
            throws InvalidValue
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
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
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
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
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
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
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
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
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
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
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
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
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
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()
            throws Invalid
Returns the enclosed Any.
Returns:
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.

DynAny.java -- Copyright (C) 2005, 2006, 2007 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.