Package org.omg.DynamicAny
Class DynSequencePOATie
java.lang.Object
org.omg.PortableServer.Servant
org.omg.DynamicAny.DynSequencePOA
org.omg.DynamicAny.DynSequencePOATie
- All Implemented Interfaces:
InvokeHandler
,DynAnyOperations
,DynSequenceOperations
DynSequence objects support the manipulation of IDL sequences.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDynSequencePOATie
(DynSequenceOperations delegate) DynSequencePOATie
(DynSequenceOperations delegate, POA poa) -
Method Summary
Modifier and TypeMethodDescriptionReturns the root POA from the ORB instance associated with the servant.void
_delegate
(DynSequenceOperations delegate) void
Initializes the value associated with a DynAny object with the value associated with another DynAny object.int
Returns the number of components of a DynAny.copy()
Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.Returns the DynAny for the component at the current position.void
destroy()
Destroys a DynAny object.boolean
Compares two DynAny values for equality.void
Initializes the value associated with a DynAny object with the value contained in an any.get_any()
Extracts an Any value contained in the Any represented by this DynAny.boolean
Extracts the boolean value from this DynAny.char
get_char()
Extracts the char value from this DynAny.double
Extracts the double value from this DynAny.Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped into a new DynAny.Any[]
Returns the elements of the sequence.DynAny[]
Returns the DynAnys representing the elements of the sequence.float
Extracts the float value from this DynAny.int
Returns the current length of the sequence.int
get_long()
Extracts the integer value from this DynAny.long
Extracts the long value from this DynAny.byte
Extracts the byte value from this DynAny.Extracts the reference to a CORBA Object from this DynAny.short
Extracts the short value from this DynAny.Extracts the string value from this DynAny.Extracts the TypeCode object from this DynAny.int
Extracts the integer value from this DynAny.long
Extracts the long value from this DynAny.short
Extracts the short value from this DynAny.get_val()
Extracts a Serializable object from this DynAny.char
Extracts the long value from this DynAny.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.void
set_elements
(Any[] value) Sets the elements of a sequence.void
set_elements_as_dyn_any
(DynAny[] value) Sets the elements of a sequence using DynAnys.void
set_length
(int len) Sets the length of the sequence.to_any()
Creates an any value from a DynAny object.type()
Returns the TypeCode associated with this DynAny object.Methods inherited from class org.omg.DynamicAny.DynSequencePOA
_all_interfaces, _invoke, _this, _this
Methods inherited from class org.omg.PortableServer.Servant
_get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object
-
Field Details
-
_impl
-
_poa
-
-
Constructor Details
-
DynSequencePOATie
-
DynSequencePOATie
-
-
Method Details
-
_delegate
-
_delegate
-
_default_POA
Description copied from class:Servant
Returns the root POA from the ORB instance associated with the servant. Subclasses may override this method to return a different POA.- Overrides:
_default_POA
in classServant
- Returns:
default_POA
the POA associated with theServant
.
-
get_length
public int get_length()Returns the current length of the sequence.- Returns:
- the sequence length
-
set_length
Sets the length of the sequence. Increasing the length of a sequence adds new elements at the tail without affecting the values of already existing elements. Newly added elements are default-initialized. Increasing the length of a sequence sets the current position to the first newly-added element if the previous current position was -1. Otherwise, if the previous current position was not -1, the current position is not affected. Decreasing the length of a sequence removes elements from the tail without affecting the value of those elements that remain. The new current position after decreasing the length of a sequence is determined as follows:- If the length of the sequence is set to zero, the current position is set to -1.
- If the current position is -1 before decreasing the length, it remains at -1.
- If the current position indicates a valid element and that element is not removed when the length is decreased, the current position remains unaffected.
- If the current position indicates a valid element and that element is removed, the current position is set to -1.
- Parameters:
len
- the new length of the sequence- Throws:
InvalidValue
- if this is a bounded sequence and len is larger than the bound
-
get_elements
Returns the elements of the sequence.- Returns:
- the elements
-
set_elements
Sets the elements of a sequence. The length of the DynSequence is set to the length of value. The current position is set to zero if value has non-zero length and to -1 if value is a zero-length sequence.- Parameters:
value
- the elements of the sequence- Throws:
TypeMismatch
- if value contains one or more elements whose TypeCode is not equivalent to the element TypeCode of the DynSequenceInvalidValue
- if the length of value exceeds the bound of a bounded sequence
-
get_elements_as_dyn_any
Returns the DynAnys representing the elements of the sequence.- Returns:
- the elements
-
set_elements_as_dyn_any
Sets the elements of a sequence using DynAnys. The length of the DynSequence is set to the length of value. The current position is set to zero if value has non-zero length and to -1 if value is a zero-length sequence.- Parameters:
value
- the elements of the sequence- Throws:
TypeMismatch
- if value contains one or more elements whose TypeCode is not equivalent to the element TypeCode of the DynSequenceInvalidValue
- if the length of value exceeds the bound of a bounded sequence
-
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.- Returns:
- The TypeCode associated with this DynAny object
-
assign
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.- Parameters:
dyn_any
- DynAny value to assign to this object- Throws:
TypeMismatch
- if the type of the passed DynAny is not equivalent to the type of target DynAny
-
from_any
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.- Parameters:
value
- the value to set as contained in this object- Throws:
TypeMismatch
- if the type of the passed Any is not equivalent to the type of target DynAnyInvalidValue
- if the passed Any does not contain a legal value (such as a null string)
-
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.- Returns:
- a new Any object with the same value and TypeCode
-
equal
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.- Parameters:
dyn_any
- the value to compare to- 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. -
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.- Returns:
- a deep copy of the DynAny object
-
insert_boolean
Inserts a boolean value into the DynAny.- Parameters:
value
- boolean to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_octet
Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.- Parameters:
value
- byte to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_char
Inserts a char value into the DynAny.- Parameters:
value
- char to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_short
Inserts a short value into the DynAny.- Parameters:
value
- short to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_ushort
Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.- Parameters:
value
- short to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_long
Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.- Parameters:
value
- integer to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_ulong
Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.- Parameters:
value
- integer to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_float
Inserts a float value into the DynAny.- Parameters:
value
- float to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_double
Inserts a double value into the DynAny.- Parameters:
value
- double to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_string
Inserts a string value into the DynAny. Both bounded and unbounded strings are inserted using this method.- Parameters:
value
- String to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1InvalidValue
- if the string inserted is longer than the bound of a bounded stringTypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_reference
Inserts a reference to a CORBA object into the DynAny.- Parameters:
value
- Object to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_typecode
Inserts a TypeCode object into the DynAny.- Parameters:
value
- TypeCode object to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_longlong
Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.- Parameters:
value
- long to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_ulonglong
Inserts a long value into the DynAny. The IDL unsigned long long data type is mapped to the Java long data type.- Parameters:
value
- long to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_wchar
Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.- Parameters:
value
- char to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_wstring
Inserts a string value into the DynAny. Both bounded and unbounded strings are inserted using this method.- Parameters:
value
- String to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1InvalidValue
- if the string inserted is longer than the bound of a bounded stringTypeMismatch
- if the DynAny has already been constucted
-
insert_any
Inserts an Any value into the Any represented by this DynAny.- Parameters:
value
- Any to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_dyn_any
Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.- Parameters:
value
- Any to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
insert_val
Inserts a reference to a Serializable object into this DynAny. The IDL ValueBase type is mapped to the Java Serializable type.- Parameters:
value
- Serializable to insert- Throws:
InvalidValue
- if this DynAny has components but has a current position of -1TypeMismatch
- if called on a DynAny whose current component itself has components
-
get_boolean
Extracts the boolean value from this DynAny.- Returns:
- extracted boolean
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_octet
Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.- Returns:
- extracted byte
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_char
Extracts the char value from this DynAny.- Returns:
- extracted char
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_short
Extracts the short value from this DynAny.- Returns:
- extracted short
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_ushort
Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.- Returns:
- extracted short
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_long
Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.- Returns:
- extracted integer
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_ulong
Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.- Returns:
- extracted int
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_float
Extracts the float value from this DynAny.- Returns:
- extracted float
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_double
Extracts the double value from this DynAny.- Returns:
- extracted double
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_string
Extracts the string value from this DynAny. Both bounded and unbounded strings are extracted using this method.- Returns:
- extracted String
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_reference
Extracts the reference to a CORBA Object from this DynAny.- Returns:
- extracted CORBA object
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_typecode
Extracts the TypeCode object from this DynAny.- Returns:
- extracted TypeCode
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_longlong
Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.- Returns:
- extracted long
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_ulonglong
Extracts the long value from this DynAny. The IDL unsigned long long data type is mapped to the Java long data type.- Returns:
- extracted long
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_wchar
Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.- Returns:
- extracted char
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_wstring
Extracts the string value from this DynAny. Both bounded and unbounded strings are extracted using this method.- Returns:
- extracted String
- 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 componentsInvalidValue
- if the component as no index
-
get_any
Extracts an Any value contained in the Any represented by this DynAny.- Returns:
- extracted Any
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_dyn_any
Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped into a new DynAny.- Returns:
- extracted Any
- 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 componentsInvalidValue
- if this DynAny has components but has a current position of -1
-
get_val
Extracts a Serializable object from this DynAny. The IDL ValueBase type is mapped to the Java Serializable type.- Returns:
- extracted Serializable
- 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 componentsInvalidValue
- 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.- Parameters:
index
- position to set to- Returns:
- if there is a component at the specified index
-
rewind
public void rewind()Is equivalent to seek(0). -
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.- Returns:
- if the resulting position indicates a component
-
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.
- Returns:
- the number of components
-
current_component
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 DynAny at the current position
- Throws:
TypeMismatch
- If called on a DynAny that cannot have components, such as a DynEnum or an empty exception
-