WFC Packages

The basic foundation blocks of WFC are Windows and Dynamic HTML. WFC is rooted firmly in the Win32 Windows programming model, enabling you to use Java to write Windows-based applications that take advantage of Windows user-interface controls, events, and system services. WFC is also rooted in the Dynamic HTML object model, which enables you to create both client and server HTML pages that use the power of Dynamic HTML directly from Java.

At the heart of these technologies are native dynamic-link libraries (DLLs) that provide the core API of the WFC infrastructure. These libraries are made available to the Java language thanks to two different technologies: the JActiveX tool and J/Direct. If the DLL represents a COM/ActiveX component, JActiveX creates wrapper classes that map the COM objects to Java objects. If the DLL is not COM-based, J/Direct is used to call directly into the DLL and to marshal the data types between Java and the native language of the DLL (such as C or C++). Both these technologies take advantage of the built-in support and synergy of the JVC compiler and the Microsoft Virtual Machine for Java.

This is mostly important to know because several WFC packages are composed entirely of either COM wrapper classes (produced by JActiveX) or J/Direct classes. These classes have methods that map directly to the underlying API; they are not documented in the WFC Reference because they are not typically called directly. However, they are discussed as support classes for other packages.

Not including the native API support packages, there are seven main packages in WFC.

Package Description
com.ms.wfc.app Base classes that encapsulate Windows application operations. The Visual J++ form component template uses the services of this class. In addition to the basic Windows message handling structure, there is support for Windows features such as the Clipboard, the registry, threads, window handles, system information, and so on.
com.ms.wfc.core Base classes for the component model. This package includes support for containers, events, exceptions, properties, and the infrastructure for interoperating with features in Visual J++ such as the Forms Designer.
com.ms.wfc.data Active Data Objects (ADO) Java classes that enable data access and data binding. This package also includes com.ms.wfc.data.ui, the package that provides the base classes for the data-bound controls in WFC.
com.ms.wfc.html Classes used to implement Dynamic HTML in Java. These classes provide both client- and server-side support.
com.ms.wfc.io Classes used to access data streams, implementing a complete package for reading and writing serial streams, for file access, and for mapping between differing types of data streams.
com.ms.wfc.ui Core classes for the controls that ship with WFC. These classes also provide access to the Windows Graphics API.
com.ms.wfc.util Utility classes for various forms of sorting, implementing hash tables, and so on.

The following are the core native API support classes in WFC.

Package Description
com.ms.wfc.ax Provides Java wrapper classes for the ActiveX interfaces.
com.ms.wfc.html.om Provides Java wrapper classes for the Dynamic HTML object model.
com.ms.wfc.ole32 Provides Java wrapper classes for OLE services.
com.ms.wfc.win32 Provides Java wrapper classes for Win32 API.