Class DynArrayPOATie

All Implemented Interfaces:
InvokeHandler, DynAnyOperations, DynArrayOperations

public class DynArrayPOATie extends DynArrayPOA
DynArray objects support the manipulation of IDL arrays. Note that the dimension of the array is contained in the TypeCode which is accessible through the type attribute. It can also be obtained by calling the component_count operation.
  • Field Details

  • Constructor Details

  • Method Details

    • _delegate

      public DynArrayOperations _delegate()
    • _delegate

      public void _delegate(DynArrayOperations delegate)
    • _default_POA

      public POA _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 class Servant
      Returns:
      default_POA the POA associated with the Servant.
    • get_elements

      public Any[] get_elements()
      Returns the elements of the DynArray.
      Returns:
      the elements
    • set_elements

      public void set_elements(Any[] value) throws TypeMismatch, InvalidValue
      Sets the DynArray to contain the passed elements.
      Parameters:
      value - the elements of the array
      Throws:
      TypeMismatch - if one or more elements have a type that is inconsistent with the DynArrays TypeCode
      InvalidValue - if the sequence does not contain the same number of elements as the array dimension
    • get_elements_as_dyn_any

      public DynAny[] get_elements_as_dyn_any()
      Returns the elements of the DynArray as DynAnys.
      Returns:
      the elements
    • set_elements_as_dyn_any

      public void set_elements_as_dyn_any(DynAny[] value) throws TypeMismatch, InvalidValue
      Sets the DynArray to contain the passed elements.
      Parameters:
      value - the elements of the array
      Throws:
      TypeMismatch - if one or more elements have a type that is inconsistent with the DynArrays TypeCode
      InvalidValue - if the sequence does not contain the same number of elements as the array dimension
    • type

      public TypeCode 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

      public void assign(DynAny dyn_any) throws TypeMismatch
      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

      public void from_any(Any value) throws TypeMismatch, InvalidValue
      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 DynAny
      InvalidValue - if the passed Any does not contain a legal value (such as a null string)
    • to_any

      public Any 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

      public boolean equal(DynAny dyn_any)
      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

      public DynAny 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

      public void insert_boolean(boolean value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_octet

      public void insert_octet(byte value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_char

      public void insert_char(char value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_short

      public void insert_short(short value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_ushort

      public void insert_ushort(short value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_long

      public void insert_long(int value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_ulong

      public void insert_ulong(int value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_float

      public void insert_float(float value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_double

      public void insert_double(double value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_string

      public void insert_string(String value) throws TypeMismatch, InvalidValue
      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 -1
      InvalidValue - if the string inserted is longer than the bound of a bounded string
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_reference

      public void insert_reference(Object value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_typecode

      public void insert_typecode(TypeCode value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_longlong

      public void insert_longlong(long value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_ulonglong

      public void insert_ulonglong(long value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_wchar

      public void insert_wchar(char value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_wstring

      public void insert_wstring(String value) throws TypeMismatch, InvalidValue
      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 -1
      InvalidValue - if the string inserted is longer than the bound of a bounded string
      TypeMismatch - if the DynAny has already been constucted
    • insert_any

      public void insert_any(Any value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_dyn_any

      public 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.
      Parameters:
      value - Any to insert
      Throws:
      InvalidValue - if this DynAny has components but has a current position of -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • insert_val

      public void insert_val(Serializable value) throws TypeMismatch, InvalidValue
      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 -1
      TypeMismatch - if called on a DynAny whose current component itself has components
    • get_boolean

      public boolean get_boolean() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_octet

      public byte get_octet() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_char

      public char get_char() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_short

      public short get_short() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_ushort

      public short get_ushort() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_long

      public int get_long() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_ulong

      public int get_ulong() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_float

      public float get_float() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_double

      public double get_double() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_string

      public String get_string() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_reference

      public Object get_reference() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_typecode

      public TypeCode get_typecode() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_longlong

      public long get_longlong() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_ulonglong

      public long get_ulonglong() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_wchar

      public char get_wchar() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_wstring

      public String get_wstring() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if the component as no index
    • get_any

      public Any get_any() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_dyn_any

      public 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.
      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 components
      InvalidValue - if this DynAny has components but has a current position of -1
    • get_val

      public Serializable get_val() throws TypeMismatch, InvalidValue
      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 components
      InvalidValue - 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

      public DynAny current_component() throws TypeMismatch
      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