8.1 IDL

IDL Java


module package


interface (non-abstract) signature interface, helper class, holder class, operations interface


interface (abstract) signature interface, helper class, holder class


long, unsigned long int


long long, unsigned long long long


short, unsigned short short


octet byte


char, wchar char


float float


double double


boolean boolean


string, wstring java.lang.String


sequence, array array


type declarations within interfacespackage


enum, struct, union class


exception class


typedef helper classes


Any org.omg.CORBA.Any

<..Copy.idl..>
 module CopyModule {
    interface Copy {
      const unsigned short SIZE=4;
      typedef long array[SIZE];
      void copy(out array a, in array b);
    };
 };
-_-_-

<..array at servant..>
 public void copy( CopyModule.CopyPackage.arrayHolder a,
                                                  int b[] ) {
   a.value = new int[CopyModule.Copy.SIZE];
   for(int i=0; i<CopyModule.Copy.SIZE; i++) {
       a.value[i] = b[i];
 } }
-_-_-

<..array at client..>
 corbaObj = nameService.resolve_str( "Copy" );
 Copy stub = CopyHelper.narrow( corbaObj );
 
 CopyModule.CopyPackage.arrayHolder a =
   new CopyModule.CopyPackage.arrayHolder();
 int b[] = {1, 2, 3, 4};    // CopyModule.Copy.SIZE = 4
 
 stub.copy(a, b);
 for(int i=0;i<a.value.length;i++) {
   System.out.println(a.value[i]);
 }
-_-_-