Difference between revisions of "ECF/API Docs"

From Eclipsepedia

< ECF
Jump to: navigation, search
(ECF API Documentation)
(ECF API Documentation)
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
The '''ECF API Docs''' page is a collection of documentation for the [[Eclipse Communication Framework Project|Eclipse Communication Framework]] project's core APIs.
 +
 
=ECF API Documentation=
 
=ECF API Documentation=
  
Below are bundle-level documentation for each of the main ECF 1.0.0 APIs:  [[ECF Core]], [[Datashare API]], [[Discovery API]], [[File Transfer API]], [[Presence API]], [[Remote Services API]], [[Shared Object API]], and [[Telephony API]].  Each of these APIs is provided via a distinct set of bundles, listed under its corresponding section.
+
Below are bundle-level documentation for each of the main ECF 2.0.0 APIs:  [[#ECF Core|ECF Core]], [[#Datashare API|Datashare API]], [[#Discovery API|Discovery API]], [[#File Transfer API|File Transfer API]], [[#Presence API|Presence API]], [[#REST Remote Services API|REST Remote Services API]], [[#Remote Services API|Remote Services API]], [[#Shared Object API|Shared Object API]], [[#Telephony API|Telephony API]], [[#Sync API|Sync API]].  
  
Each API bundle has a link to information about that bundle, including required bundles/packages, exported bundles, javadocs for exported packages, extension points defined/exposed, OSGi Services exposed, and links to source (downloading and browsing).
+
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).
  
==ECF Core==
+
=ECF Core=
  
The ECF Core API provides support for all other ECF APIs.  This includes identity (ID) services, ECF distributed container (IContainer) interface definition and instance creation.
+
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.
  
===Bundles===
+
The primary entity in the ECF core API is the distributed container, whose runtime contract is represented by the [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/core/IContainer.html IContainer] interface.  ECF protocol providers (e.g. XMPP, ECF generic, IRC, bittorrent, etc) all must create a class implmenting the IContainer core interface.
  
[[ECF Identity Bundle|org.eclipse.ecf.identity]]
+
All other ECF APIs listed below are accessed as adapters via the [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/core/IContainer.html#getAdapter(java.lang.Class) 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 [http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/core/IContainer.html#getAdapter(java.lang.Class) IContainer.getAdapter(<interface class>)] for an example usage, or test code.
  
[[ECF Core Bundle|org.eclipse.ecf]]
+
===API Bundles===
  
===Project Sets===
+
[[ECF Core Bundle|org.eclipse.ecf]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf  Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.core.anonymous.psf Anonymous]
+
[[ECF Identity Bundle|org.eclipse.ecf.identity]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.identity  Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.core.committer.psf Committer]
+
=Datashare API=
  
===Test Bundles===
+
The datashare API provides support for asynchronous messaging channels.  Arbitrary data may be reliably sent to [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/datashare/IChannel.html IChannels].  These channels can represent both point-to-point messaging and publish-and-subscribe (group) messaging.  IChannel instances are created via the [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/datashare/IChannelContainerAdapter.html IChannelContainerAdapter], which is an adapter interface accessed via [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/core/IContainer.html#getAdapter(java.lang.Class) IContainer.getAdapter(IChannelContainerAdapter.class)].
  
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests/?root=Technology_Project org.eclipse.ecf.tests]
+
===API Bundle===
  
==Datashare API==
+
[[Datashare API Bundle|org.eclipse.ecf.datashare]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.datashare  Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
The datashare API provides support for asynchronous messaging channels.  Arbitrary data may be reliably sent to publish-and-subscribe channels.
+
=Discovery API=
  
===Bundle===
+
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 [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/discovery/IDiscoveryContainerAdapter.html IDiscoveryContainerAdapter].
 
+
[[Datashare API Bundle|org.eclipse.ecf.datashare]]
+
 
+
===API + Provider Project Sets===
+
 
+
[http://www.eclipse.org/ecf/projectsetfiles/ecf.datashare.anonymous.psf Anonymous]
+
 
+
[http://www.eclipse.org/ecf/projectsetfiles/ecf.datashare.committer.psf Committer]
+
 
+
===Test Bundles===
+
 
+
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests.datashare/?root=Technology_Project org.eclipse.ecf.tests.datashare]
+
 
+
==Discovery API==
+
 
+
The discovery API provides a protocol independent API for discovering remote services.
+
  
 
===API Bundle===
 
===API Bundle===
  
[[ECF Discovery API Bundle|org.eclipse.ecf.discovery]]
+
[[ECF Discovery API Bundle|org.eclipse.ecf.discovery]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.discovery Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
===[[ECF Providers#Discovery_.28org.eclipse.ecf.discovery.29|Provider Implementations]]===
+
=File Transfer API=
  
===API Project Sets===
+
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 [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/filetransfer/IRetrieveFileTransferContainerAdapter.html IRetrieveFileTransferContainerAdapter], and requesting peer-to-peer file transfer is done via the [http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/filetransfer/IOutgoingFileTransferContainerAdapter.html IOutgoingFileTransferContainerAdapter].
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.discovery.anonymous.psf Anonymous]
+
===API Bundles===
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.discovery.committer.psf Committer]
+
[[ECF Filetransfer API Bundle|org.eclipse.ecf.filetransfer]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.filetransfer Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
===Test Bundles===
+
[[ECF Filetransfer Provider Bundle|org.eclipse.ecf.provider.filetransfer]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/providers/bundles/org.eclipse.ecf.provider.filetransfer Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests.discovery/?root=Technology_Project org.eclipse.ecf.tests.discovery]
+
=Presence API=
 
+
==File Transfer API==
+
 
+
The filetransfer API provides support for both retrieving remote files, and initiating the sending of peer-to-peer file transfer.
+
 
+
===Bundles===
+
 
+
[[ECF Filetransfer API Bundle|org.eclipse.ecf.filetransfer]]
+
 
+
[[ECF Filetransfer Provider Bundle|org.eclipse.ecf.provider.filetransfer]]
+
 
+
===API + Provider Project Sets===
+
 
+
[http://www.eclipse.org/ecf/projectsetfiles/ecf.filetransfer.anonymous.psf Anonymous]
+
 
+
[http://www.eclipse.org/ecf/projectsetfiles/ecf.filetransfer.committer.psf Committer]
+
 
+
===[[ECF Providers#File_Transfer_.28org.eclipse.ecf.filetransfer.29|Provider Implementations]]===
+
 
+
===Test Bundles===
+
 
+
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests.filetransfer/?root=Technology_Project org.eclipse.ecf.tests.filetransfer]
+
 
+
==Presence API==
+
  
 
The presence API provides a protocol independent API for instant messaging, basic presence/buddy lists/rosters display and management, and multi-user chat rooms.
 
The presence API provides a protocol independent API for instant messaging, basic presence/buddy lists/rosters display and management, and multi-user chat rooms.
Line 91: Line 65:
 
===API Bundle===
 
===API Bundle===
  
[[ECF Presence API Bundle|org.eclipse.ecf.presence]]
+
[[ECF Presence API Bundle|org.eclipse.ecf.presence]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.presence Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
===[[ECF Providers#Presence_.28org.eclipse.ecf.presence.29|Provider Implementations]]===
+
=REST Remote Services API=
  
===API Project Sets===
+
The REST remote services API provides the means to create OSGi clients for REST-based services.
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.presence.anonymous.psf Anonymous]
+
===API Bundle===
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.presence.committer.psf Committer]
+
[[ECF/Rest Remote Services API Bundle|org.eclipse.ecf.remoteservice.rest]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.remoteservice.rest Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
===Test Bundles===
+
=Remote Services API=
 
+
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests.presence/?root=Technology_Project org.eclipse.ecf.tests.presence]
+
 
+
==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 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.
Line 111: Line 85:
 
===API Bundle===
 
===API Bundle===
  
[[ECF Remote Services API Bundle|org.eclipse.ecf.remoteservice]]
+
[[ECF/Remote Services API Bundle|org.eclipse.ecf.remoteservice]]<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.remoteservice Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
===[[ECF Providers#Remote_Services_.28org.eclipse.ecf.remoteservice.29|Provider Implementations]]===
+
=Shared Object API=
 
+
===API Project Sets===
+
 
+
[http://www.eclipse.org/ecf/projectsetfiles/ecf.remoteservice.anonymous.psf Anonymous]
+
 
+
[http://www.eclipse.org/ecf/projectsetfiles/ecf.remoteservice.committer.psf Committer]
+
 
+
===Test Bundles===
+
 
+
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests.remoteservice/?root=Technology_Project org.eclipse.ecf.tests.remoteservice]
+
 
+
==Shared Object API==
+
  
 
The shared object API provides a protocol independent API for replicating Java objects in a distributed group.
 
The shared object API provides a protocol independent API for replicating Java objects in a distributed group.
Line 131: Line 95:
 
===API Bundle===
 
===API Bundle===
  
[[ECF Shared Object API Bundle|org.eclipse.ecf.sharedobject]]
+
[[ECF Shared Object API Bundle|org.eclipse.ecf.sharedobject]]<br>
 
+
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.sharedobject Source]<br>
===[[ECF Providers#ECF_Generic|Provider Implementations]]===
+
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
 
+
===API Project Sets===
+
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.sharedobject.anonymous.psf Anonymous]
+
=Telephony Call API=
  
[http://www.eclipse.org/ecf/projectsetfiles/ecf.sharedobject.committer.psf Committer]
+
The telephony Call API supports the initiation/receiving and management of VOIP phone calls.
  
===Test Bundles===
+
ECF Telephony Call API Bundle<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.telephony.call Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/tests/org.eclipse.ecf.tests.sharedobject/?root=Technology_Project org.eclipse.ecf.tests.sharedobject]
+
=Sync API=
  
==Telephony API==
+
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.
  
The telephony API supports the initiation/receiving and management of VOIP phone calls.
+
ECF Sync API Bundle<br>
 +
[http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.sync Source]<br>
 +
[http://download.eclipse.org/rt/ecf/3.5Test/javadoc/ Javadocs]
  
TBD.
+
{{ECF}}
 +
[[Category:Eclipse Communication Framework]]

Latest revision as of 14:18, 11 March 2011

The ECF API Docs page is a collection of documentation for the Eclipse Communication Framework project's core APIs.

Contents

[edit] 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).

[edit] ECF Core

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.

[edit] API Bundles

org.eclipse.ecf
Source
Javadocs

org.eclipse.ecf.identity
Source
Javadocs

[edit] Datashare API

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).

[edit] API Bundle

org.eclipse.ecf.datashare
Source
Javadocs

[edit] Discovery API

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.

[edit] API Bundle

org.eclipse.ecf.discovery
Source
Javadocs

[edit] 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.

[edit] API Bundles

org.eclipse.ecf.filetransfer
Source
Javadocs

org.eclipse.ecf.provider.filetransfer
Source
Javadocs

[edit] Presence API

The presence API provides a protocol independent API for instant messaging, basic presence/buddy lists/rosters display and management, and multi-user chat rooms.

[edit] API Bundle

org.eclipse.ecf.presence
Source
Javadocs

[edit] REST Remote Services API

The REST remote services API provides the means to create OSGi clients for REST-based services.

[edit] API Bundle

org.eclipse.ecf.remoteservice.rest
Source
Javadocs

[edit] 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.

[edit] API Bundle

org.eclipse.ecf.remoteservice
Source
Javadocs

[edit] Shared Object API

The shared object API provides a protocol independent API for replicating Java objects in a distributed group.

[edit] API Bundle

org.eclipse.ecf.sharedobject
Source
Javadocs

[edit] Telephony Call API

The telephony Call API supports the initiation/receiving and management of VOIP phone calls.

ECF Telephony Call API Bundle
Source
Javadocs

[edit] Sync API

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.

ECF Sync API Bundle
Source
Javadocs

Eclipse Communication Framework
API
API DocumentationJavadocProvidersECF/Bot Framework
Components
ServersShared EditingShared Code Plug-in
Development
Development GuidelinesIntegrators Guide