Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
The ECF API Docs page is a collection of documentation for the Eclipse Communication Framework project's core APIs.
- 1 ECF API Documentation
- 2 ECF Core
- 3 Datashare API
- 4 Discovery API
- 5 File Transfer API
- 6 Presence API
- 7 REST Remote Services API
- 8 Remote Services API
- 9 Shared Object API
- 10 Telephony Call API
- 11 Sync API
ECF API Documentation
Below are bundle-level documentation for each of the main ECF 2.0.0 APIs: ECF Core, Datashare API, Discovery API, File Transfer API, Presence API, REST Remote Services API, Remote Services API, Shared Object API, Telephony API, Sync API.
Each API has a link to information about the API bundle(s), and detailed information about that bundle, including required bundles/packages, exported bundles, links to javadocs for exported packages, extension points defined/exposed, OSGi Services exposed, and links to source (downloading and browsing).
The ECF Core API provides support for all other ECF APIs. This includes distributed identity (ID) services, ECF distributed container (IContainer) interface definition and factory-based container instance creation.
The primary entity in the ECF core API is the distributed container, whose runtime contract is represented by the IContainer interface. ECF protocol providers (e.g. XMPP, ECF generic, IRC, bittorrent, etc) all must create a class implmenting the IContainer core interface.
All other ECF APIs listed below are accessed as adapters via the IContainer.getAdapter(<interface class>). This allows the core container interface to be quite simple, having methods for connection/disconnection and access to other APIs via adapters. See the documentation for IContainer.getAdapter(<interface class>) for an example usage, or test code.
The datashare API provides support for asynchronous messaging channels. Arbitrary data may be reliably sent to IChannels. These channels can represent both point-to-point messaging and publish-and-subscribe (group) messaging. IChannel instances are created via the IChannelContainerAdapter, which is an adapter interface accessed via IContainer.getAdapter(IChannelContainerAdapter.class).
The discovery API provides a protocol independent API for asynchronously discovering remote services. Registering services to be discovered and listeners to be asynchronously notified when service types and services are published is accomplished via the IDiscoveryContainerAdapter.
File Transfer API
The filetransfer API provides support for both retrieving remote files, and initiating the sending of peer-to-peer file transfer. Initiating the asynchronous retrieval of remote files is done via the IRetrieveFileTransferContainerAdapter, and requesting peer-to-peer file transfer is done via the IOutgoingFileTransferContainerAdapter.
The presence API provides a protocol independent API for instant messaging, basic presence/buddy lists/rosters display and management, and multi-user chat rooms.
REST Remote Services API
The REST remote services API provides the means to create OSGi clients for REST-based services.
Remote Services API
The remote services API provides a protocol independent API for accessing remote services on peer OSGi containers. The remote services may be accessed via proxy, synchronous (call/return) invocation, or asynchronous (call and listen) invocation.
The shared object API provides a protocol independent API for replicating Java objects in a distributed group.
Telephony Call API
The telephony Call API supports the initiation/receiving and management of VOIP phone calls.
The ECF sync API provides an abstraction for synchronizing replicated data models (e.g. documents or other runtime models), using operational transformation. The sync API is used by the ECF real-time shared editing application.
|Eclipse Communication Framework|
|API Documentation • Javadoc • Providers|
|Development Guidelines • Integrators Guide|