Фрагмент модуля SIDL.idl для упрощения доступа к EJB из Delphi и C++
#pragma prefix "borland.com"
module sidl {
...
module util {
typedef sequence<any> Collection;
typedef sequence<any> Enumeration;
typedef sequence<any> List;
typedef sequence<any> Vector;
struct Date {
// milliseconds since January 1, 1970, 00:00:00 GMT.
long long time;
};
};
...
module javax {
module ejb {
interface EJBObject;
interface EJBHome;
struct EJBMetaData {
javax::ejb::EJBHome home;
java::lang::Class homeInterfaceClass;
java::lang::Class primaryKeyClass;
java::lang::Class remoteInterfaceClass;
boolean session;
boolean statelessSession;
};
interface EJBHome {
EJBMetaData getEJBMetaData();
// getHomeHandle заменен на org.omg.CORBA.ORB.object_to_string
void remove(in any primaryKey) raises(RemoveException);
// remove(Handle h) не нужен: вместо него используется EJBObject.remove.
string getSimplifiedIDL();
};
interface EJBObject {
EJBHome getEJBHome();
// getHandle() заменен на org.omg.CORBA.ORB.object_to_string
any getPrimaryKey();
// isIdentical заменен на org.omg.CORBA.Object._is_equivalent
void remove() raises(RemoveException);
};
};
};