You could easily integrate your Java application with Microsoft Office Word, Microsoft Office Excel, Microsoft Office Outlook, Internet Explorer, Windows Media Player, Adobe Acrobat etc. entirely in the Java language.
Major Features
ComfyJ run-time provides bidirectional Java-COM bridge and uses an underlying JNIWrapper technology together with ComfyJ Core framework and WinPack.
The Code Generator application supplied with ComfyJ allows you to wrap any COM library into a set of Java classes to interface with your Java application.
COM-to-Java Integration
This facet of ComfyJ allows you to integrate your Java application with any COM/OLE/OCX/ActiveX library of the Windows platform. Its major features include:
• Wrappers for basic COM interfaces, such as IUnknown, IDispatch, IClassFactory, IStream, etc.
• Wrappers for basic COM types such as BStr (BSTR), Variant (VARIANT), SafeArray (single and multidimensional arrays), etc.
• Support for VTBL method calling mechanism ("early binding" in VB). You can invoke methods of a COM object using their function indexes in Virtual Method Table (VTBL).
• Support for COM Automation ("late binding" in VB). You are free to invoke any method of a COM object using dynamic method invocation technique, get and set properties of a COM object (indexed or named).
• Listening to and handling of COM events. Using the base (IConnectionPoinContainer.findConnectionPoint(), IConnectionPoint.advise()) COM technique, you can create a Java COM event handler and connect it to a COM object.
• Integration with OLE/OCX/ActiveX components. ComfyJ provides the OleContainer class which allows you to:
o Use any OLE/ActiveX components in a Java Swing UI. Using this functionality, you can embed Internet Explorer, Acrobat Reader, Microsoft Office as well as various media components (Windows MediaPlayer, DVD player, QuickTime, ShockwaveFlash, etc.).
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 Save/load an embedded OleObject to/from a file in a special binary format.
• Support for multiple threading models. ComfyJ provides a set of different concurrency models which you can use for initializing COM integration in your Java application.
• CodeGenerator utility. With this bundled application, you can generate Java COM wrappers for all types that are defined in a COM Type Library. Generated classes allow to you to work with respective COM objects just like with usual Java objects. Moreover, you can compile generated classes and pack them into a JAR file, if needed.
• COM memory management. All COM and other native resources allocated by the underlying JNIWrapper are garbage-collected automatically when no longer needed. Alternatively, you can explicitly release resources when required by the application logic.
• DCOM support. ComfyJ allows you to create a COM object on a remote server.
Java-to-COM Integration
This part of ComfyJ provides the ability to create COM objects purely in Java. In other words, Java objects can be exposed as COM objects to other COM applications. No writing of native code is required.
• Development of Java COM servers. For creating Java COM objects, ComfyJ provides all necessary classes such as IUnknownServer and IDispatchServer, so any custom Java COM object can be derived from these servers depending on application requirements. Created Java COM classes can implement various COM interfaces as required. These can be standard interfaces or those which were generated by Code Generator application of ComfyJ.
• Registration of Java COM servers. You can register created Java COM objects at run time (for COM event handlers) or in the Windows Registry using a bundled ServerManager application. There is also an ability to register Java COM objects without using ServerManager application, in which case deployment of Java COM servers will be simplified. Such registered objects can be further used by other COM applications.
Licensing
ComfyJ is licensed per developer to individuals, companies and organizations. This means you must acquire one license for each developer using ComfyJ. No annual fees. Free runtime distribution.
System Requirements
Supported platforms: Windows Vista, 2003, XP, 2000, NT, 9x Windows Vista 64-bit, XP 64
Technical Information
Programming Language - Generates code for or works with the follow languages...