// This file is generated by Visibroker v4 Java to IDL tool
// to show you how an EJB home (and remote) interface looks like.
// After that it is edited by me to correct the bugs and shorten the names
// using #pragma vbname at the end of the file.

// Compile with
// ../../bin/idl2vb --simplevalues --novalfacts -I../../orb/include \
//      -Bgenerated ejbHome.idl

#include <orb.idl> // You will find this file in ../../orb/include

//#pragma prefix "omg.org"
//module CORBA {
//  valuetype WStringValue wstring;
//};

#pragma prefix ""
module org {
  module omg {
    module boxedRMI {
      valuetype seq1_long sequence< long >;
      #pragma ID seq1_long "RMI:[I:0000000000000000"
      valuetype seq1_boolean sequence< boolean >;
      #pragma ID seq1_boolean "RMI:[Z:0000000000000000"
    };

  };

};

module java {
  module lang {
    typedef any _Object;
  };

};

module org {
  module omg {
    module boxedRMI {
      module java {
        module lang {
          valuetype seq1_Object sequence< ::java::lang::_Object >;
          #pragma ID seq1_Object "RMI:[Ljava.lang.Object;:0000000000000000"
          valuetype seq1_String sequence< ::CORBA::WStringValue >;
          #pragma ID seq1_String "RMI:[Ljava.lang.String;:0000000000000000"
        };

      };

    };

  };

};

module java {
  module lang {
    abstract valuetype Comparable  {
    };
    #pragma ID Comparable "RMI:java.lang.Comparable:0000000000000000"
  };

};

module java {
  module lang {
    valuetype Class  {
    };
    valuetype Throwable  {
      private ::CORBA::WStringValue detailMessage;
      #pragma ID detailMessage "RMI:java.lang.Throwable/detailMessage:0000000000000000"
    };
    #pragma ID Throwable "RMI:java.lang.Throwable:71DA8BE7F971128:D5C635273977B8CB"
    valuetype _Exception : ::java::lang::Throwable {
    };
    #pragma ID _Exception "RMI:java.lang.Exception:64D47C1D01980B5E"
    abstract interface Cloneable {
    };
    #pragma ID Cloneable "RMI:java.lang.Cloneable:0000000000000000"
  };

  module io {
    typedef any Serializable;
    typedef any Externalizable;
  };

  module rmi {
    typedef Object Remote;
  };

  module util {
    valuetype TimeZone 
      supports ::java::lang::Cloneable {
      private ::CORBA::WStringValue ID;
      #pragma ID ID "RMI:java.util.TimeZone/ID:0000000000000000"
      const long _SHORT = 0;
      #pragma ID _SHORT "RMI:java.util.TimeZone/SHORT:0000000000000000"
      const long _LONG = 1;
      #pragma ID _LONG "RMI:java.util.TimeZone/LONG:0000000000000000"
    };
    #pragma ID TimeZone "RMI:java.util.TimeZone:71DA8BE7F971128:31B3E9F57744ACA1"
    custom valuetype Calendar 
      supports ::java::lang::Cloneable {
      private boolean areFieldsSet;
      #pragma ID areFieldsSet "RMI:java.util.Calendar/areFieldsSet:0000000000000000"
      private long firstDayOfWeek;
      #pragma ID firstDayOfWeek "RMI:java.util.Calendar/firstDayOfWeek:0000000000000000"
      private boolean isTimeSet;
      #pragma ID isTimeSet "RMI:java.util.Calendar/isTimeSet:0000000000000000"
      private boolean lenient;
      #pragma ID lenient "RMI:java.util.Calendar/lenient:0000000000000000"
      private long minimalDaysInFirstWeek;
      #pragma ID minimalDaysInFirstWeek "RMI:java.util.Calendar/minimalDaysInFirstWeek:0000000000000000"
      private long nextStamp;
      #pragma ID nextStamp "RMI:java.util.Calendar/nextStamp:0000000000000000"
      private long serialVersionOnStream;
      #pragma ID serialVersionOnStream "RMI:java.util.Calendar/serialVersionOnStream:0000000000000000"
      private long long time;
      #pragma ID time "RMI:java.util.Calendar/time:0000000000000000"
      private ::org::omg::boxedRMI::seq1_long fields;
      #pragma ID fields "RMI:java.util.Calendar/fields:0000000000000000"
      private ::org::omg::boxedRMI::seq1_boolean isSet;
      #pragma ID isSet "RMI:java.util.Calendar/isSet:0000000000000000"
      private ::java::util::TimeZone zone;
      #pragma ID zone "RMI:java.util.Calendar/zone:0000000000000000"
      const long DST_OFFSET = 16;
      #pragma ID DST_OFFSET "RMI:java.util.Calendar/DST_OFFSET:0000000000000000"
      const long MONTH = 2;
      #pragma ID MONTH "RMI:java.util.Calendar/MONTH:0000000000000000"
      const long NOVEMBER = 10;
      #pragma ID NOVEMBER "RMI:java.util.Calendar/NOVEMBER:0000000000000000"
      const long SATURDAY = 7;
      #pragma ID SATURDAY "RMI:java.util.Calendar/SATURDAY:0000000000000000"
      const long FIELD_COUNT = 17;
      #pragma ID FIELD_COUNT "RMI:java.util.Calendar/FIELD_COUNT:0000000000000000"
      const long MONDAY = 2;
      #pragma ID MONDAY "RMI:java.util.Calendar/MONDAY:0000000000000000"
      const long JANUARY = 0;
      #pragma ID JANUARY "RMI:java.util.Calendar/JANUARY:0000000000000000"
      const long WEDNESDAY = 4;
      #pragma ID WEDNESDAY "RMI:java.util.Calendar/WEDNESDAY:0000000000000000"
      const long DAY_OF_WEEK_IN_MONTH = 8;
      #pragma ID DAY_OF_WEEK_IN_MONTH "RMI:java.util.Calendar/DAY_OF_WEEK_IN_MONTH:0000000000000000"
      const long YEAR = 1;
      #pragma ID YEAR "RMI:java.util.Calendar/YEAR:0000000000000000"
      const long ZONE_OFFSET = 15;
      #pragma ID ZONE_OFFSET "RMI:java.util.Calendar/ZONE_OFFSET:0000000000000000"
      const long HOUR = 10;
      #pragma ID HOUR "RMI:java.util.Calendar/HOUR:0000000000000000"
      const long AM = 0;
      #pragma ID AM "RMI:java.util.Calendar/AM:0000000000000000"
      const long DAY_OF_WEEK = 7;
      #pragma ID DAY_OF_WEEK "RMI:java.util.Calendar/DAY_OF_WEEK:0000000000000000"
      const long WEEK_OF_YEAR = 3;
      #pragma ID WEEK_OF_YEAR "RMI:java.util.Calendar/WEEK_OF_YEAR:0000000000000000"
      const long SECOND = 13;
      #pragma ID SECOND "RMI:java.util.Calendar/SECOND:0000000000000000"
      const long SEPTEMBER = 8;
      #pragma ID SEPTEMBER "RMI:java.util.Calendar/SEPTEMBER:0000000000000000"
      const long HOUR_OF_DAY = 11;
      #pragma ID HOUR_OF_DAY "RMI:java.util.Calendar/HOUR_OF_DAY:0000000000000000"
      const long MINUTE = 12;
      #pragma ID MINUTE "RMI:java.util.Calendar/MINUTE:0000000000000000"
      const long FEBRUARY = 1;
      #pragma ID FEBRUARY "RMI:java.util.Calendar/FEBRUARY:0000000000000000"
      const long MAY = 4;
      #pragma ID MAY "RMI:java.util.Calendar/MAY:0000000000000000"
      const long DAY_OF_YEAR = 6;
      #pragma ID DAY_OF_YEAR "RMI:java.util.Calendar/DAY_OF_YEAR:0000000000000000"
      const long JUNE = 5;
      #pragma ID JUNE "RMI:java.util.Calendar/JUNE:0000000000000000"
      const long WEEK_OF_MONTH = 4;
      #pragma ID WEEK_OF_MONTH "RMI:java.util.Calendar/WEEK_OF_MONTH:0000000000000000"
      const long APRIL = 3;
      #pragma ID APRIL "RMI:java.util.Calendar/APRIL:0000000000000000"
      const long MARCH = 2;
      #pragma ID MARCH "RMI:java.util.Calendar/MARCH:0000000000000000"
      const long AM_PM = 9;
      #pragma ID AM_PM "RMI:java.util.Calendar/AM_PM:0000000000000000"
      const long ERA = 0;
      #pragma ID ERA "RMI:java.util.Calendar/ERA:0000000000000000"
      const long DAY_OF_MONTH = 5;
      #pragma ID DAY_OF_MONTH "RMI:java.util.Calendar/DAY_OF_MONTH:0000000000000000"
      const long PM = 1;
      #pragma ID PM "RMI:java.util.Calendar/PM:0000000000000000"
      const long TUESDAY = 3;
      #pragma ID TUESDAY "RMI:java.util.Calendar/TUESDAY:0000000000000000"
      const long DATE = 5;
      #pragma ID DATE "RMI:java.util.Calendar/DATE:0000000000000000"
      const long UNDECIMBER = 12;
      #pragma ID UNDECIMBER "RMI:java.util.Calendar/UNDECIMBER:0000000000000000"
      const long OCTOBER = 9;
      #pragma ID OCTOBER "RMI:java.util.Calendar/OCTOBER:0000000000000000"
      const long DECEMBER = 11;
      #pragma ID DECEMBER "RMI:java.util.Calendar/DECEMBER:0000000000000000"
      const long SUNDAY = 1;
      #pragma ID SUNDAY "RMI:java.util.Calendar/SUNDAY:0000000000000000"
      const long FRIDAY = 6;
      #pragma ID FRIDAY "RMI:java.util.Calendar/FRIDAY:0000000000000000"
      const long THURSDAY = 5;
      #pragma ID THURSDAY "RMI:java.util.Calendar/THURSDAY:0000000000000000"
      const long AUGUST = 7;
      #pragma ID AUGUST "RMI:java.util.Calendar/AUGUST:0000000000000000"
      const long JULY = 6;
      #pragma ID JULY "RMI:java.util.Calendar/JULY:0000000000000000"
      const long MILLISECOND = 14;
      #pragma ID MILLISECOND "RMI:java.util.Calendar/MILLISECOND:0000000000000000"
    };
    #pragma ID Calendar "RMI:java.util.Calendar:AC117E28FE36587A:E6EA4D1EC8DC5B8E"
    custom valuetype GregorianCalendar : ::java::util::Calendar {
      private long long gregorianCutover;
      #pragma ID gregorianCutover "RMI:java.util.GregorianCalendar/gregorianCutover:0000000000000000"
      const long BC = 0;
      #pragma ID BC "RMI:java.util.GregorianCalendar/BC:0000000000000000"
      const long AD = 1;
      #pragma ID AD "RMI:java.util.GregorianCalendar/AD:0000000000000000"
    };
    #pragma ID GregorianCalendar "RMI:java.util.GregorianCalendar:D0968E8226272D3:8F3DD7D6E5B0D0C1"
    abstract valuetype Collection  {
    };
    #pragma ID Collection "RMI:java.util.Collection:0000000000000000"
    abstract valuetype List : ::java::util::Collection {
    };
    #pragma ID List "RMI:java.util.List:0000000000000000"
    valuetype Vector : ::java::util::List
      supports ::java::lang::Cloneable {
      private long capacityIncrement;
      #pragma ID capacityIncrement "RMI:java.util.Vector/capacityIncrement:0000000000000000"
      private long elementCount;
      #pragma ID elementCount "RMI:java.util.Vector/elementCount:0000000000000000"
      private ::org::omg::boxedRMI::java::lang::seq1_Object elementData;
      #pragma ID elementData "RMI:java.util.Vector/elementData:0000000000000000"
    };
    #pragma ID Vector "RMI:java.util.Vector:71DA8BE7F971128:D9977D5B803BAF01"
    valuetype Stack : ::java::util::Vector {
    };
    #pragma ID Stack "RMI:java.util.Stack:64D47C1D01980B5E:10FE2AC2BB09861D"
  };

};

module javax {
  module rmi {
    module CORBA {
      typedef ::java::lang::Class ClassDesc;
    };

  };

  module ejb {
    valuetype RemoveException : ::java::lang::_Exception {
    };
    #pragma ID RemoveException "RMI:javax.ejb.RemoveException:CB5AD65BE85961EB"
    exception RemoveEx {
      #pragma original_name "RemoveException"
      ::javax::ejb::RemoveException value;
    };
    abstract valuetype EJBMetaData  {
    };
    #pragma ID EJBMetaData "RMI:javax.ejb.EJBMetaData:0000000000000000"
    interface EJBHome;
    #pragma ID EJBHome "RMI:javax.ejb.EJBHome:0000000000000000"
    abstract interface HomeHandle {
//**      ::javax::ejb::EJBHome getEJBHome ();
//**      #pragma ID getEJBHome "RMI:javax.ejb.HomeHandle/getEJBHome:0000000000000000"
    };
    #pragma ID HomeHandle "RMI:javax.ejb.HomeHandle:0000000000000000"
    abstract interface Handle;
    #pragma ID Handle "RMI:javax.ejb.Handle:0000000000000000"
    interface EJBObject {
//**      readonly attribute ::javax::ejb::Handle handle;
//**      #pragma original_getter_name handle "getHandle"
//**      #pragma ID handle "RMI:javax.ejb.EJBObject/handle:0000000000000000"
//**      readonly attribute ::javax::ejb::EJBHome EJBHome;
//**      #pragma original_getter_name EJBHome "getEJBHome"
//**      #pragma ID EJBHome "RMI:javax.ejb.EJBObject/EJBHome:0000000000000000"
//**      readonly attribute ::java::lang::_Object primaryKey;
//**      #pragma original_getter_name primaryKey "getPrimaryKey"
//**      #pragma ID primaryKey "RMI:javax.ejb.EJBObject/primaryKey:0000000000000000"
      void remove ()
        raises (::javax::ejb::RemoveEx);
//**      #pragma ID remove "RMI:javax.ejb.EJBObject/remove:0000000000000000"
//**      boolean isIdentical (in ::javax::ejb::EJBObject arg0);
//**      #pragma ID isIdentical "RMI:javax.ejb.EJBObject/isIdentical:0000000000000000"
    };
    #pragma ID EJBObject "RMI:javax.ejb.EJBObject:0000000000000000"
    abstract interface Handle {
      ::javax::ejb::EJBObject getEJBObject ();
      #pragma ID getEJBObject "RMI:javax.ejb.Handle/getEJBObject:0000000000000000"
    };
    #pragma ID Handle "RMI:javax.ejb.Handle:0000000000000000"
    interface EJBHome {
//**      readonly attribute ::javax::ejb::EJBMetaData EJBMetaData;
//**      #pragma original_getter_name EJBMetaData "getEJBMetaData"
//**      #pragma ID EJBMetaData "RMI:javax.ejb.EJBHome/EJBMetaData:0000000000000000"
//**      readonly attribute ::javax::ejb::HomeHandle homeHandle;
//**      #pragma original_getter_name homeHandle "getHomeHandle"
//**      #pragma ID homeHandle "RMI:javax.ejb.EJBHome/homeHandle:0000000000000000"
//**      void remove__java_lang_Object (in ::java::lang::_Object arg0)
//**        raises (::javax::ejb::RemoveEx);
//**      #pragma original_name remove__java_lang_Object "remove"
//**      #pragma ID remove__java_lang_Object "RMI:javax.ejb.EJBHome/remove__java_lang_Object:0000000000000000"
//**      void remove__javax_ejb_Handle (in ::javax::ejb::Handle arg0)
//**        raises (::javax::ejb::RemoveEx);
//**      #pragma original_name remove__javax_ejb_Handle "remove"
//**      #pragma ID remove__javax_ejb_Handle "RMI:javax.ejb.EJBHome/remove__javax_ejb_Handle:0000000000000000"
    };
    #pragma ID EJBHome "RMI:javax.ejb.EJBHome:0000000000000000"
    valuetype CreateException : ::java::lang::_Exception {
    };
    #pragma ID CreateException "RMI:javax.ejb.CreateException:CB5AD65BE85961EB"
    exception CreateEx {
      #pragma original_name "CreateException"
      ::javax::ejb::CreateException value;
    };
  };

};


//#pragma vbname ::CORBA C
#pragma vbname ::java j
#pragma vbname ::java::lang jl
#pragma vbname ::java::util ju
#pragma vbname ::javax jx
//#pragma vbname ::mboth mb
//#pragma vbname ::mboth::common mbc
//#pragma vbname ::mboth::common::error mbce
//#pragma vbname ::mboth::common::util mbcu
//#pragma vbname ::mboth::... mb...
