ComfyJ is a bidirectional Java-COM bridge, which provides COM-to-Java and Java-to-COM interaction. The product allows to integrate with any COM/OLE/OCX/ActiveX libraries and to expose Java objects as COM objects all on pure Java without writing native code. Java-to-COM Bridge This bridge allows a Java application to easily integrate with any COM/OLE/OCX/ActiveX libraries using only the Java programming language and no native code. The major features are: 1. Wrappers for all standard COM interfaces, such as IUnknown, IDispatch etc. 2. Support for standard COM types, such as Variant, SafeArray (single and multidimensional arrays), BStr etc. 3. Support for VTBL method calling mechanism. You can invoke COM object methods using the function index. 4. Automation support enabling you to: o Invoke any method of a COM object using dynamic method invocation technique. o Get any property of a COM object, including indexed and named ones. o Set COM object properties. 5. Support for COM events. You can create a Java COM event handler and connect it to a COM object using a standard (findConnectionPoint/advise) COM technique. 6. Embedding any OLE/OCX/ActiveX controls into a Swing application. ComfyJ provides a special OleContainer class allowing you to: o Create an embedded object using ProgID, CLSID, or from a file. Also, there is an ability to insert an IOleObject into the container. o Embed various OLE/OCX/ActiveX components, such as Internet Explorer, Microsoft Office, Acrobat Reader documents, and various media components such as Windows MediaPlayer, DVD player, QuickTime, ShockwaveFlash etc. o Perform static drawing of an embedded component. o Save/Load an embedded OleObject to/from a file in a special binary format; o Do various kinds of in-place activation, such as SHOW, INPLACEACTIVE etc. 7. DCOM support. ComfyJ allows creating COM object on a remote server. 8. Code Generation application. Using this application, you can generate Java COM wrappers for custom COM objects. Generated classes can be compiled and packed to a JAR file if necessary. COM-to-Java Bridge This bridge enables you to implement and expose Java COM objects as usual COM objects in the Java language without writing native code. The major features are: 1. IUnknownServer Â? Server implementation of the IUnknown COM interface. All custom Java COM objects that implement the IUnknown COM interface can be derived from this class. 2. IDispatchServer Â? Server implementation of the IDispatch COM interface. All custom Java COM objects that implement the IDispatch COM interface can be derived from this class. 3. Ability to create and register custom Java COM classes at run time. This technique is widely used in the implementation of the OleContainer interface and in COM events support. 4. Ability to create any custom COM classes and register them as COM servers in the system registry using a specially designed "Server Manager" application.