|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.omg.CORBA.portable.ObjectImpl | +--org.omg.DynamicAny._DynAnyStub
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.
Field Summary | |
static Class |
_opsClass
|
Constructor Summary | |
_DynAnyStub()
|
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 class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
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 |
Field Detail |
public static final Class _opsClass
Constructor Detail |
public _DynAnyStub()
Method Detail |
public TypeCode type()
type
in interface DynAnyOperations
public void assign(DynAny dyn_any) throws TypeMismatch
assign
in interface DynAnyOperations
dyn_any
-
TypeMismatch
- if the type of the passed DynAny is not equivalent to the type of target DynAnypublic void from_any(Any value) throws TypeMismatch, InvalidValue
from_any
in interface DynAnyOperations
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)public Any to_any()
to_any
in interface DynAnyOperations
public boolean equal(DynAny dyn_any)
equal
in interface DynAnyOperations
public void destroy()
destroy
in interface DynAnyOperations
public DynAny copy()
copy
in interface DynAnyOperations
public void insert_boolean(boolean value) throws TypeMismatch, InvalidValue
insert_boolean
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_octet(byte value) throws TypeMismatch, InvalidValue
insert_octet
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_char(char value) throws TypeMismatch, InvalidValue
insert_char
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_short(short value) throws TypeMismatch, InvalidValue
insert_short
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_ushort(short value) throws TypeMismatch, InvalidValue
insert_ushort
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_long(int value) throws TypeMismatch, InvalidValue
insert_long
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_ulong(int value) throws TypeMismatch, InvalidValue
insert_ulong
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_float(float value) throws TypeMismatch, InvalidValue
insert_float
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_double(double value) throws TypeMismatch, InvalidValue
insert_double
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_string(String value) throws TypeMismatch, InvalidValue
insert_string
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_reference(Object value) throws TypeMismatch, InvalidValue
insert_reference
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_typecode(TypeCode value) throws TypeMismatch, InvalidValue
insert_typecode
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_longlong(long value) throws TypeMismatch, InvalidValue
insert_longlong
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_ulonglong(long value) throws TypeMismatch, InvalidValue
insert_ulonglong
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_wchar(char value) throws TypeMismatch, InvalidValue
insert_wchar
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_wstring(String value) throws TypeMismatch, InvalidValue
insert_wstring
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
public void insert_any(Any value) throws TypeMismatch, InvalidValue
insert_any
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_dyn_any(DynAny value) throws TypeMismatch, InvalidValue
insert_dyn_any
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic void insert_val(Serializable value) throws TypeMismatch, InvalidValue
insert_val
in interface DynAnyOperations
InvalidValue
- if this DynAny has components but has a current position of -1
TypeMismatch
- if called on a DynAny whose current component itself has componentspublic boolean get_boolean() throws TypeMismatch, InvalidValue
get_boolean
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public byte get_octet() throws TypeMismatch, InvalidValue
get_octet
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public char get_char() throws TypeMismatch, InvalidValue
get_char
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public short get_short() throws TypeMismatch, InvalidValue
get_short
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public short get_ushort() throws TypeMismatch, InvalidValue
get_ushort
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public int get_long() throws TypeMismatch, InvalidValue
get_long
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public int get_ulong() throws TypeMismatch, InvalidValue
get_ulong
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public float get_float() throws TypeMismatch, InvalidValue
get_float
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public double get_double() throws TypeMismatch, InvalidValue
get_double
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public String get_string() throws TypeMismatch, InvalidValue
get_string
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public Object get_reference() throws TypeMismatch, InvalidValue
get_reference
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public TypeCode get_typecode() throws TypeMismatch, InvalidValue
get_typecode
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public long get_longlong() throws TypeMismatch, InvalidValue
get_longlong
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public long get_ulonglong() throws TypeMismatch, InvalidValue
get_ulonglong
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public char get_wchar() throws TypeMismatch, InvalidValue
get_wchar
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public String get_wstring() throws TypeMismatch, InvalidValue
get_wstring
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
public Any get_any() throws TypeMismatch, InvalidValue
get_any
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public DynAny get_dyn_any() throws TypeMismatch, InvalidValue
get_dyn_any
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public Serializable get_val() throws TypeMismatch, InvalidValue
get_val
in interface DynAnyOperations
TypeMismatch
- if the accessed component in the DynAny is of a type
that is not equivalent to the requested type.
InvalidValue
- if this DynAny has components but has a current position of -1public boolean seek(int index)
seek
in interface DynAnyOperations
public void rewind()
rewind
in interface DynAnyOperations
public boolean next()
next
in interface DynAnyOperations
public int component_count()
component_count
in interface DynAnyOperations
public DynAny current_component() throws TypeMismatch
current_component
in interface DynAnyOperations
TypeMismatch
- If called on a DynAny that cannot have components,
such as a DynEnum or an empty exceptionpublic String[] _ids()
ObjectImpl
ObjectImpl
object. For example,
for a stub, this method returns information about all the
interfaces supported by the stub.
_ids
in class ObjectImpl
ObjectImpl
instance
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.