gnu.CORBA.DynAn

Class gnuDynArray

Implemented Interfaces:
DynAny, DynAnyOperations, DynArray, DynArrayOperations, IDLEntity, Object, Serializable
Known Direct Subclasses:
gnuDynSequence

public class gnuDynArray
extends DivideableAny
implements DynArray, Serializable

Provides support for dynamic array or sequence, where all members have the same final_type.
See Also:
Serialized Form

Field Summary

Fields inherited from class gnu.CORBA.DynAn.DivideableAny

array, pos

Fields inherited from class gnu.CORBA.DynAn.AbstractAny

factory, final_type, official_type, orb

Constructor Summary

gnuDynArray(TypeCode oType, TypeCode aType, gnuDynAnyFactory aFactory, ORB anOrb, boolean initialise_array)
Creates new array.

Method Summary

void
assign(DynAny from)
Copy one DynAny into another.
protected void
checkArrayValid(Object members)
Check if array size is valid and (for sequences) resized if required.
DynAny
copy()
Create a copy.
void
from_any(Any an_any)
Done via reflection.
Any[]
get_elements()
Get elements as array of anys.
DynAny[]
get_elements_as_dyn_any()
void
set_elements(Any[] value)
Set elements when array of ordinary anys is provided.
void
set_elements_as_dyn_any(DynAny[] value)
Set elements when array of dyn anys is provided.
Any
to_any()
Done via reflection.

Methods inherited from class gnu.CORBA.DynAn.DivideableAny

component_count, current_component, destroy, equal, focused, get_any, get_boolean, get_char, get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, get_reference, get_short, get_string, get_typecode, get_ulong, get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, insert_long, insert_longlong, insert_octet, insert_reference, insert_short, insert_string, insert_typecode, insert_ulong, insert_ulonglong, insert_ushort, insert_val, insert_wchar, insert_wstring, next, rewind, seek, to_any

Methods inherited from class gnu.CORBA.DynAn.AbstractAny

createAny, type, valueChanged

Methods inherited from class org.omg.CORBA.LocalObject

_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _set_policy_override, validate_connection

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

gnuDynArray

public gnuDynArray(TypeCode oType,
                   TypeCode aType,
                   gnuDynAnyFactory aFactory,
                   ORB anOrb,
                   boolean initialise_array)
            throws BAD_PARAM
Creates new array.
Parameters:
aType - the final_type of array.
aFactory - the factory, used to initialise default values.
initialise_array - if false, the array is not initialised in constructor.
Throws:
BAD_PARAM - if the passed typecode does not provide the length().

Method Details

assign

public void assign(DynAny from)
            throws TypeMismatch
Copy one DynAny into another.
Specified by:
assign in interface DynAnyOperations

checkArrayValid

protected void checkArrayValid(Object members)
            throws TypeMismatch,
                   InvalidValue
Check if array size is valid and (for sequences) resized if required. Called from from_any.

copy

public DynAny copy()
Create a copy.
Specified by:
copy in interface DynAnyOperations

from_any

public void from_any(Any an_any)
            throws TypeMismatch,
                   InvalidValue
Done via reflection.
Specified by:
from_any in interface DynAnyOperations

get_elements

public Any[] get_elements()
Get elements as array of anys.
Specified by:
get_elements in interface DynArrayOperations

get_elements_as_dyn_any

public DynAny[] get_elements_as_dyn_any()
Specified by:
get_elements_as_dyn_any in interface DynArrayOperations

set_elements

public void set_elements(Any[] value)
            throws InvalidValue,
                   TypeMismatch
Set elements when array of ordinary anys is provided.
Specified by:
set_elements in interface DynArrayOperations

set_elements_as_dyn_any

public void set_elements_as_dyn_any(DynAny[] value)
            throws InvalidValue,
                   TypeMismatch
Set elements when array of dyn anys is provided. This method can set nested data structures as an array components.
Specified by:
set_elements_as_dyn_any in interface DynArrayOperations

to_any

public Any to_any()
Done via reflection.
Specified by:
to_any in interface DynAnyOperations
Overrides:
to_any in interface DivideableAny

gnuDynArray.java -- Copyright (C) 2005 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.