diff options
author | slewis | 2009-12-27 07:54:45 +0000 |
---|---|---|
committer | slewis | 2009-12-27 07:54:45 +0000 |
commit | 7211ccfed46549ebdcca49e552728d1266d74159 (patch) | |
tree | 6d15a30ec86561eb417292f6b669c89ab86fc60c /doc | |
parent | 24b6dc18afe1b42c2fe22cb002f9ffa03211e285 (diff) | |
download | org.eclipse.ecf-7211ccfed46549ebdcca49e552728d1266d74159.tar.gz org.eclipse.ecf-7211ccfed46549ebdcca49e552728d1266d74159.tar.xz org.eclipse.ecf-7211ccfed46549ebdcca49e552728d1266d74159.zip |
Added container extension point docs
Diffstat (limited to 'doc')
18 files changed, 620 insertions, 38 deletions
diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_container.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_container.html new file mode 100644 index 000000000..27440430b --- /dev/null +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_container.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>container</title> +<style type="text/css">@import url("../../book.css");</style> +<style type="text/css">@import url("../../schema.css");</style> +</HEAD> +<BODY> +<H1 style="text-align:center">container</H1> +<p></p> +<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.ecf.container<p></p> +<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>ECF core bundle v 3.1.0. +<p></p> + +<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>This extension point allows extensions to specify the creation of a container instance of a given type.<p></p> +<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6> +<p></p> +<p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.container">container</a>+)></p> +<p class="code SchemaDtd"><!ATTLIST extension</p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> +<p></p> +<ul class="ConfigMarkupAttlistDesc"> +</ul> +<br><p class="code SchemaDtd"><!ELEMENT <a name="e.container">container</a> (<a href="#e.parameter">parameter</a>+)?></p> +<p class="code SchemaDtd"><!ATTLIST container</p> +<p class="code SchemaDtdAttlist">factoryName CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">containerId CDATA #IMPLIED</p>></p> +<p></p> +<p class="ConfigMarkupElementDesc"> +The container extension point. Extensions may define new containers created upon ECF core initialization.</p> +<br> +<ul class="ConfigMarkupAttlistDesc"> +<li><b>factoryName</b> - The required containerFactoryName (e.g. ecf.generic.client or ecf.r_osgi.peer) that defines the type of container to create.</li> +<li><b>containerId</b> - Optional containerId that defines the id for the new container instance.</li> +</ul> +<br><p class="code SchemaDtd"><!ELEMENT <a name="e.parameter">parameter</a> EMPTY></p> +<p class="code SchemaDtd"><!ATTLIST parameter</p> +<p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">value CDATA #REQUIRED</p>></p> +<p></p> +<p class="ConfigMarkupElementDesc"> +Parameter for container instance creation. The name value pairs defined by the parameter element name and value attributes are added to a Map that is then passed to the container factory instance creation.</p> +<br> +<ul class="ConfigMarkupAttlistDesc"> +<li><b>name</b> - The name for the container parameter.</li> +<li><b>value</b> - The value for the container parameter.</li> +</ul> +<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6><pre class="Example"><span class="code SchemaTag"> + <extension + point=</span><span class="code SchemaCstring">"org.eclipse.ecf.container"</span><span class="code SchemaTag">> + <container + containerId=</span><span class="code SchemaCstring">"foo1"</span><span class="code SchemaTag"> + factoryName=</span><span class="code SchemaCstring">"ecf.generic.client"</span><span class="code SchemaTag">> + <parameter + name=</span><span class="code SchemaCstring">"name1"</span><span class="code SchemaTag"> + value=</span><span class="code SchemaCstring">"value1"</span><span class="code SchemaTag">> + </parameter> + <parameter + name=</span><span class="code SchemaCstring">"name2"</span><span class="code SchemaTag"> + value=</span><span class="code SchemaCstring">"value2"</span><span class="code SchemaTag">> + </parameter> + </container> + <container + containerId=</span><span class="code SchemaCstring">"adfasdf"</span><span class="code SchemaTag"> + factoryName=</span><span class="code SchemaCstring">"bogus.factory.name"</span><span class="code SchemaTag">> + </container> + <container + containerId=</span><span class="code SchemaCstring">"ecftcp://localhost:32111/server"</span><span class="code SchemaTag"> + factoryName=</span><span class="code SchemaCstring">"ecf.generic.server"</span><span class="code SchemaTag">> + </container> + <container + factoryName=</span><span class="code SchemaCstring">"ecf.generic.client"</span><span class="code SchemaTag">> + </container> + </extension> +</span></pre> +<p></p> + +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>No API available. +<p></p> + +<h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>The ECF core v3.1.0 bundle supplies the implementation of this extension point. +<p></p> + +<br> +<p class="note SchemaCopyright"> +Copyright (c) 2009 Composent, Inc. and others. +All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: Composent, Inc. - initial API and implementation. + +</p> +</BODY> +</HTML> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_containerFactory.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_containerFactory.html index 2163b311d..1845a1823 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_containerFactory.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_containerFactory.html @@ -18,16 +18,16 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.containerFactory">containerFactory</a>+)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.containerFactory">containerFactory</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST containerFactory</p> -<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED<p class="code SchemaDtdAttlist">description CDATA #IMPLIED<p class="code SchemaDtdAttlist">server (true | false) <p class="code SchemaDtdAttlist">hidden (true | false) ></p> +<p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">description CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">server (true | false) </p><p class="code SchemaDtdAttlist">hidden (true | false) </p>></p> <p></p> <p class="ConfigMarkupElementDesc"> -The container factory extension point. Can optionally contain a list of 'defaultargument' elements that describe the arguments (and provide default values) to be passed to provider implementation</p> +The container factory extension point. Can optionally contain a list of 'defaultargument' elements that describe the arguments to be passed to provider implementation</p> <br> <ul class="ConfigMarkupAttlistDesc"> <li><b>class</b> - The fully qualified name of the class implementing the <b>org.eclipse.ecf.core.provider.IContainerInstantiator</b> interface.</li> @@ -81,6 +81,135 @@ IContainer newContainer = ContainerFactory.getDefault().createContainer('fo </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The API for this extension point is provided by the <b>org.eclipse.ecf.core.ContainerFactory.getDefault()</b> methods. Specifically, the 'createContainer' methods are to be used by clients. The functionality provided by the extension point mechanism can be used at runtime via the <b>ContainerFactory.getDefault().addDescription(ContainerTypeDescription)</b> method. Here is the IContainerFactory interface +contract: + +<pre class="Example"><span class="code SchemaTag"> +/** + * Container factory contract {@link ContainerFactory} for default + * implementation. + */ +public interface IContainerFactory { + /** + * Add a ContainerTypeDescription to the set of known ContainerDescriptions. + * + * @param description + * the ContainerTypeDescription to add to this factory. Must not + * be null. + * @return ContainerTypeDescription the old description of the same name, + * null if none found + */ + public ContainerTypeDescription addDescription(ContainerTypeDescription description); + + /** + * Get a collection of the ContainerDescriptions currently known to this + * factory. This allows clients to query the factory to determine what if + * any other ContainerDescriptions are currently registered with the + * factory, and if so, what they are. + * + * @return List of ContainerTypeDescription instances + */ + public List /* ContainerTypeDescription */ getDescriptions(); + + /** + * Check to see if a given named description is already contained by this + * factory + * + * @param description + * the ContainerTypeDescription to look for + * @return true if description is already known to factory, false otherwise + */ + public boolean containsDescription(ContainerTypeDescription description); + + /** + * Get the known ContainerTypeDescription given it's name. + * + * @param name + * the name to use as key to find ContainerTypeDescription + * @return ContainerTypeDescription found. Null if not found. + */ + public ContainerTypeDescription getDescriptionByName(String name); + + /** + * Make IContainer instance. Given a ContainerTypeDescription object, a + * String [] of argument types, and an Object [] of parameters, this method + * will + * <p> + * <ul> + * <li>lookup the known ContainerDescriptions to find one of matching name</li> + * <li>if found, will retrieve or create an IContainerInstantiator for that + * description</li> + * <li>Call the IContainerInstantiator.createInstance method to return an + * instance of IContainer</li> + * </ul> + * + * @param description + * the ContainerTypeDescription to use to create the instance + * @param parameters + * an Object [] of parameters passed to the createInstance method + * of the IContainerInstantiator + * @return a valid instance of IContainer + * @throws ContainerCreateException + */ + public IContainer createContainer(ContainerTypeDescription description, + Object[] parameters) throws ContainerCreateException; + + /** + * Make IContainer instance. Given a ContainerTypeDescription name, this + * method will + * <p> + * <ul> + * <li>lookup the known ContainerDescriptions to find one of matching name</li> + * <li>if found, will retrieve or create an IContainerInstantiator for that + * description</li> + * <li>Call the IContainerInstantiator.createInstance method to return an + * instance of IContainer</li> + * </ul> + * + * @param descriptionName + * the ContainerTypeDescription name to lookup + * @return a valid instance of IContainer + * @throws ContainerCreateException + */ + public IContainer createContainer(String descriptionName) + throws ContainerCreateException; + + /** + * Make IContainer instance. Given a ContainerTypeDescription name, this + * method will + * <p> + * <ul> + * <li>lookup the known ContainerDescriptions to find one of matching name</li> + * <li>if found, will retrieve or create an IContainerInstantiator for that + * description</li> + * <li>Call the IContainerInstantiator.createInstance method to return an + * instance of IContainer</li> + * </ul> + * + * @param descriptionName + * the ContainerTypeDescription name to lookup + * @param parameters + * the Object [] of parameters passed to the + * IContainerInstantiator.createInstance method + * @return a valid instance of IContainer + * @throws ContainerCreateException + */ + public IContainer createContainer(String descriptionName, Object[] parameters) + throws ContainerCreateException; + + /** + * Remove given description from set known to this factory. + * + * @param description + * the ContainerTypeDescription to remove + * @return the removed ContainerTypeDescription, null if nothing removed + */ + public ContainerTypeDescription removeDescription( + ContainerTypeDescription description); +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>The supplied implementations of this extension point are: org.eclipse.ecf.provider.generic.GenericContainerInstantiator diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_identity_namespace.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_identity_namespace.html index 4288ab297..dbb94dbe2 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_identity_namespace.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_identity_namespace.html @@ -19,13 +19,13 @@ Plugins implementing this extension point must define a Namespace class that ext <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.namespace">namespace</a>+)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.namespace">namespace</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST namespace</p> -<p class="code SchemaDtdAttlist">name CDATA #IMPLIED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">description CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">description CDATA #IMPLIED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> Element allowing plugins to define new ECF Namespaces. Plugins wishing to define new Namespaces must provide an extension of this extension point.</p> @@ -77,6 +77,9 @@ ID newID = IDFactory.getDefault().createID(new URI("testnamespace:email@emailser </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The client API for this extension point is provided by the <b>org.eclipse.ecf.core.IIDFactory.createID</b> methods. A valid IIDFactory is provided by the by the static <b>org.eclipse.ecf.core.identityIDFactory.getDefault()</b> method. +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>The following implementations of this extension point are provided by ECF itself: <p> StringID -- A namespace of ID instances that are implemented by <b>org.eclipse.ecf.core.identity.StringID</b> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomMessageHandler.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomMessageHandler.html index 0a44d6952..cf7bced78 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomMessageHandler.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomMessageHandler.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.handler">handler</a>)+></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.handler">handler</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST handler</p> -<p class="code SchemaDtdAttlist">chatRoomRobotId CDATA #REQUIRED<p class="code SchemaDtdAttlist">filterExpression CDATA #IMPLIED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">chatRoomRobotId CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">filterExpression CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> The chat room message handler</p> @@ -59,6 +59,26 @@ Note that the given chatroomrobotid=<b>org.eclipse.ecf.presence.bot.defaultbot</ </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The class implementation provided in extension point must implement the following interface: + +<pre class="Example"><span class="code SchemaTag"> +public interface IChatRoomMessageHandler extends IChatRoomContainerAdvisor { + + /** + * This method is called when a {@link IChatRoomMessage} is received. + * + * @param message + * the {@link IChatRoomMessage} received. Will not be + * <code>null</code>. Implementers should not block the + * calling thread. Any methods on the given <code>message</code> + * parameter may be called. + */ + public void handleRoomMessage(IChatRoomMessage message); + +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>No supplied implementation. <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomRobot.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomRobot.html index 2d2a3fc8f..43b9331b8 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomRobot.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_chatRoomRobot.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.chatRoomRobot">chatRoomRobot</a>)+></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.chatRoomRobot">chatRoomRobot</a> (<a href="#e.chatRooms">chatRooms</a>+)></p> <p class="code SchemaDtd"><!ATTLIST chatRoomRobot</p> -<p class="code SchemaDtdAttlist">id CDATA #REQUIRED<p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED<p class="code SchemaDtdAttlist">connectId CDATA #REQUIRED<p class="code SchemaDtdAttlist">connectPassword CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">id CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">connectId CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">connectPassword CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> The chatRoomRobot extension point.</p> @@ -42,7 +42,7 @@ for example: irc://slewis2_@irc.freenode.net </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.chatRooms">chatRooms</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST chatRooms</p> -<p class="code SchemaDtdAttlist">name CDATA #REQUIRED<p class="code SchemaDtdAttlist">password CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">password CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>name</b> - The name of the chat room that the robot should join.</li> @@ -80,6 +80,9 @@ using the id for the chatRoomRobot given above. For example: </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>See the API information for the chatRoomMessageHandler +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>No supplied implementation. <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imMessageHandler.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imMessageHandler.html index 25c20724a..f9d361b1a 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imMessageHandler.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imMessageHandler.html @@ -18,13 +18,13 @@ with imrobot instances.<p></p> <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.handler">handler</a>+)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.handler">handler</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST handler</p> -<p class="code SchemaDtdAttlist">imRobotId CDATA #REQUIRED<p class="code SchemaDtdAttlist">filterExpression CDATA #IMPLIED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">imRobotId CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">filterExpression CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> The im message handler</p> @@ -58,6 +58,26 @@ Note that the given imrobotid=<b>org.eclipse.ecf.presence.imbot.defaultbot</b> m </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The class implementation provided in extension point must implement the following interface: + +<pre class="Example"><span class="code SchemaTag"> +public interface IIMMessageHandler extends IContainerAdvisor { + + /** + * This method is called when a {@link IChatMessage} is received. + * + * @param message + * the {@link IChatMessage} received. Will not be + * <code>null</code>. Implementers should not block the + * calling thread. Any methods on the given <code>message</code> + * parameter may be called. + */ + public void handleIMMessage(IChatMessage message); + +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>No supplied implementation. <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imRobot.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imRobot.html index 1fd3ca56c..2e818e22f 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imRobot.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_bot_imRobot.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.imRobot">imRobot</a>)+></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.imRobot">imRobot</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST imRobot</p> -<p class="code SchemaDtdAttlist">id CDATA #REQUIRED<p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED<p class="code SchemaDtdAttlist">connectId CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED<p class="code SchemaDtdAttlist">connectPassword CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">id CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">connectId CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">connectPassword CDATA #IMPLIED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> The imrobot extension point.</p> @@ -65,6 +65,9 @@ using the id for the imrobot given above. For example: </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>See the API information for the immessagehandler. +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>No supplied implementation. <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_ui_rosterViewerDropTarget.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_ui_rosterViewerDropTarget.html index 3b4dfbffc..1addf3e60 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_ui_rosterViewerDropTarget.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_presence_ui_rosterViewerDropTarget.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.dropTarget">dropTarget</a>+)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.dropTarget">dropTarget</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST dropTarget</p> -<p class="code SchemaDtdAttlist">class CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> Drop target element.</p> @@ -42,6 +42,42 @@ Drop target element.</p> </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6><pre class="Example"><span class="code SchemaTag"> +/** + * Roster viewer drop target. This interface defines the + * required methods for implementers of the rosterViewerDropTarget + * extension point. + */ +public interface IRosterViewerDropTarget { + + /** + * Validates dropping on the given roster item. This method is called whenever some + * aspect of the drop operation changes. + * + * @param target the object that the mouse is currently hovering over, or + * <code>null</code> if the mouse is hovering over empty space + * @param operation the current drag operation (copy, move, etc.) + * @param transferType the current transfer type + * @return <code>true</code> if the drop is valid, and <code>false</code> + * otherwise + */ + public boolean validateDrop(IRosterItem rosterItem, int operation, + TransferData transferType); + + /** + * Performs any work associated with the drop. + * + * @param data the drop data + * @return <code>true</code> if the drop was successful, and + * <code>false</code> otherwise + */ + + public boolean performDrop(Object data); +} + +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>No supplied implementation. <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_browseFileTransferProtocolFactory.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_browseFileTransferProtocolFactory.html index 3a9ff5ff8..fd8164b32 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_browseFileTransferProtocolFactory.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_browseFileTransferProtocolFactory.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.browseFileTransferProtocolFactory">browseFileTransferProtocolFactory</a>*)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.browseFileTransferProtocolFactory">browseFileTransferProtocolFactory</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST browseFileTransferProtocolFactory</p> -<p class="code SchemaDtdAttlist">protocol CDATA #REQUIRED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">priority CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">protocol CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">priority CDATA #IMPLIED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> Browse remote file system protocol factory extention point</p> @@ -46,6 +46,26 @@ Browse remote file system protocol factory extention point</p> </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>Here is the <b>org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory</b> + +<pre class="Example"><span class="code SchemaTag"> +/** + * Remote file browser factory. This service interface is used by clients to + * create a new IRemoteFileSystemBrowser instance. + */ +public interface IRemoteFileSystemBrowserFactory { + + /** + * Get new instance of IRemoteFileSystemBrowser. + * + * @return IRemoteFileSystemBrowser for initiating a retrieval of a remote file. + */ + public IRemoteFileSystemBrowser newInstance(); + +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>None <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_retrieveFileTransferProtocolFactory.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_retrieveFileTransferProtocolFactory.html index ff57a3b5d..1896ee9a4 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_retrieveFileTransferProtocolFactory.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_retrieveFileTransferProtocolFactory.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.retrieveFileTransferProtocolFactory">retrieveFileTransferProtocolFactory</a>*)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.retrieveFileTransferProtocolFactory">retrieveFileTransferProtocolFactory</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST retrieveFileTransferProtocolFactory</p> -<p class="code SchemaDtdAttlist">protocol CDATA #REQUIRED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">priority CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">protocol CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">priority CDATA #IMPLIED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> Retrieve file transfer protocol factory extention point</p> @@ -50,6 +50,26 @@ Retrieve file transfer protocol factory extention point</p> </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>Here is the <b>org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory</b> + +<pre class="Example"><span class="code SchemaTag"> +/** + * Retrieve file transfer factory. This service interface is used by clients to + * create a new IRetrieveFileTransfer instance. + */ +public interface IRetrieveFileTransferFactory { + + /** + * Get new instance of IRetrieveFileTransfer. + * + * @return IRetrieveFileTransfer for a given file transfer + */ + public IRetrieveFileTransfer newInstance(); + +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>None <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_sendFileTransferProtocolFactory.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_sendFileTransferProtocolFactory.html index 202c04642..6f0f61b74 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_sendFileTransferProtocolFactory.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_provider_filetransfer_sendFileTransferProtocolFactory.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sendFileTransferProtocolFactory">sendFileTransferProtocolFactory</a>*)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.sendFileTransferProtocolFactory">sendFileTransferProtocolFactory</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST sendFileTransferProtocolFactory</p> -<p class="code SchemaDtdAttlist">protocol CDATA #REQUIRED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">priority CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">protocol CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">priority CDATA #IMPLIED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> Send file transfer protocol factory extention point</p> @@ -46,6 +46,26 @@ Send file transfer protocol factory extention point</p> </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>Here is the <b>org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory</b> + +<pre class="Example"><span class="code SchemaTag"> +/** + * Retrieve file transfer factory. This service interface is used by clients to + * create a new IRetrieveFileTransfer instance. + */ +public interface IRetrieveFileTransferFactory { + + /** + * Get new instance of IRetrieveFileTransfer. + * + * @return IRetrieveFileTransfer for a given file transfer + */ + public IRetrieveFileTransfer newInstance(); + +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>None <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_server_generic_configuration.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_server_generic_configuration.html index e36f97f0a..656b44f85 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_server_generic_configuration.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_server_generic_configuration.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.connector">connector</a>+)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.connector">connector</a> (<a href="#e.group">group</a>+)></p> <p class="code SchemaDtd"><!ATTLIST connector</p> -<p class="code SchemaDtdAttlist">hostname CDATA #IMPLIED<p class="code SchemaDtdAttlist">port CDATA #IMPLIED<p class="code SchemaDtdAttlist">keepAlive CDATA #IMPLIED<p class="code SchemaDtdAttlist">discovery (true | false) ></p> +<p class="code SchemaDtdAttlist">hostname CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">port CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">keepAlive CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">discovery (true | false) </p>></p> <p></p> <p class="ConfigMarkupElementDesc"> A connector defines the port and other information for an ECF generic server to receive connection requests from clients.</p> @@ -36,7 +36,7 @@ A connector defines the port and other information for an ECF generic server to </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.group">group</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST group</p> -<p class="code SchemaDtdAttlist">name CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> A specific named group for the parent connector. e.g. 'server' in ecftcp://localhost:3282/server</p> @@ -63,6 +63,9 @@ A specific named group for the parent connector. e.g. 'server' in ecftcp://loca Produces a server with groupID: ecftcp://localhost:3333/groupName <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>No public programmatic API +<p></p> + <br> <p class="note SchemaCopyright"> Copyright (c) 2004 Composent, Inc. and others. diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_sharedobject_sharedObjectFactory.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_sharedobject_sharedObjectFactory.html index fa3a0c571..f041b40c6 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_sharedobject_sharedObjectFactory.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_sharedobject_sharedObjectFactory.html @@ -56,13 +56,13 @@ public interface ISharedObjectInstantiator { <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sharedObjectFactory">sharedObjectFactory</a>+)></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.sharedObjectFactory">sharedObjectFactory</a> (<a href="#e.property">property</a>*)></p> <p class="code SchemaDtd"><!ATTLIST sharedObjectFactory</p> -<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED<p class="code SchemaDtdAttlist">description CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">description CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>class</b> - The fully qualified name of the class that implements the <b>org.eclipse.ecf.core.provider.ISharedObjectInstantiator</b> interface.</li> @@ -71,7 +71,7 @@ public interface ISharedObjectInstantiator { </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.property">property</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST property</p> -<p class="code SchemaDtdAttlist">name CDATA #REQUIRED<p class="code SchemaDtdAttlist">value CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">value CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> Property (name,value) associated with SharedObjectTypeDescription</p> @@ -112,6 +112,141 @@ ISharedObject obj = SharedObjectFactory.getDefault().createSharedObject("ecf.tes </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The API for accessing the functionality provided via extensions is via <b>org.eclipse.ecf.core.sharedobject.SharedObjectFactory.getDefault()</b> methods. Specifically, the <b>org.eclipse.ecf.core.sharedobject.ISharedObjectFactory.createSharedObject()</b> methods are to be used to create shared +object instances, where extensions implement the actual shared object creation + +Here is the <b>org.eclipse.ecf.core.sharedobject.ISharedObjectFactory</b> contract implemented by the <b>org.eclipse.ecf.core.sharedobject.SharedObjectFactory</b>: + +<pre class="Example"><span class="code SchemaTag"> +public interface ISharedObjectFactory { + /* + * Add a SharedObjectTypeDescription to the set of known + * SharedObjectTypeDescriptions. + * + * @param scd the SharedObjectTypeDescription to add to this factory @return + * SharedObjectTypeDescription the old description of the same name, null if + * none found + */ + public SharedObjectTypeDescription addDescription( + SharedObjectTypeDescription description); + + /** + * Get a collection of the SharedObjectTypeDescriptions currently known to + * this factory. This allows clients to query the factory to determine what + * if any other SharedObjectTypeDescriptions are currently registered with + * the factory, and if so, what they are. + * + * @return List of SharedObjectTypeDescription instances. Will not be null. + */ + public List getDescriptions(); + + /** + * Check to see if a given named description is already contained by this + * factory + * + * @param description + * the SharedObjectTypeDescription to look for + * @return true if description is already known to factory, false otherwise + */ + public boolean containsDescription(SharedObjectTypeDescription description); + + /** + * Get the known SharedObjectTypeDescription given it's name. + * + * @param name + * @return SharedObjectTypeDescription found. Null if description not found. + * @throws SharedObjectCreateException + */ + public SharedObjectTypeDescription getDescriptionByName(String name) + throws SharedObjectCreateException; + + /** + * Create ISharedObject instance. Given a SharedObjectTypeDescription + * object, a String [] of argument types, and an Object [] of parameters, + * this method will + * <p> + * <ul> + * <li>lookup the known SharedObjectTypeDescriptions to find one of + * matching name</li> + * <li>if found, will retrieve or create an ISharedObjectInstantiator for + * that description</li> + * <li>Call the ISharedObjectInstantiator.createInstance method to return + * an instance of ISharedObject</li> + * </ul> + * + * @param typeDescription + * the SharedObjectTypeDescription to use to create the instance + * @param args + * an Object [] of arguments passed to the createInstance method + * of the ISharedObjectInstantiator + * @return a valid instance of ISharedObject. Will not be null. + * @throws SharedObjectCreateException + * if shared object cannot be created + */ + public ISharedObject createSharedObject( + SharedObjectTypeDescription typeDescription, Object[] args) + throws SharedObjectCreateException; + + /** + * Create ISharedObject instance. Given a SharedObjectTypeDescription name, + * this method will + * <p> + * <ul> + * <li>lookup the known SharedObjectTypeDescriptions to find one of + * matching name</li> + * <li>if found, will retrieve or create an ISharedObjectInstantiator for + * that description</li> + * <li>Call the ISharedObjectInstantiator.createInstance method to return + * an instance of ISharedObject</li> + * </ul> + * + * @param descriptionName + * the SharedObjectTypeDescription name to lookup + * @return a valid instance of ISharedObject. Will not be null. + * @throws SharedObjectCreateException + */ + public ISharedObject createSharedObject(String descriptionName) + throws SharedObjectCreateException; + + /** + * Create ISharedObject instance. Given a SharedObjectTypeDescription name, + * this method will + * <p> + * <ul> + * <li>lookup the known SharedObjectTypeDescriptions to find one of + * matching name</li> + * <li>if found, will retrieve or create an ISharedObjectInstantiator for + * that description</li> + * <li>Call the ISharedObjectInstantiator.createInstance method to return + * an instance of ISharedObject</li> + * </ul> + * + * @param descriptionName + * the SharedObjectTypeDescription name to lookup + * @param args + * the Object [] of arguments passed to the + * ISharedObjectInstantiator.createInstance method + * @return a valid instance of IContainer. Will not be null. + * @throws SharedObjectCreateException + */ + public ISharedObject createSharedObject(String descriptionName, + Object[] args) throws SharedObjectCreateException; + + /** + * Remove given description from set known to this factory. + * + * @param scd + * the SharedObjectTypeDescription to remove + * @return the removed SharedObjectTypeDescription, null if nothing removed + */ + public SharedObjectTypeDescription removeDescription( + SharedObjectTypeDescription scd); +} +</span></pre> + +See the "Examples" page for an example usage of the extension point. +<p></p> + <br> <p class="note SchemaCopyright"> Copyright (c) 2004 Composent, Inc. and others. diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_start.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_start.html index 67cbe74c9..ce06812b6 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_start.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_start.html @@ -17,13 +17,13 @@ <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.run">run</a>)+></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.run">run</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST run</p> -<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">asynchronous (true | false) ></p> +<p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">asynchronous (true | false) </p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>class</b> - Class that must implement IECFStart.</li> @@ -62,6 +62,25 @@ public class CollabStart implements IECFStart { </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6><b>org.eclipse.ecf.startup.IECFStartup</b> interface: + +<pre class="Example"><span class="code SchemaTag"> +/** + * Interface that must be implemented by extensions of the org.eclipse.ecf.start + * extension point. Such extensions will have their start method called by a new + * Job upon ECF startup. + */ +public interface IECFStart { + /** + * Run some startup task. + * + * @return IStatus the status of the start + */ + public IStatus run(IProgressMonitor monitor); +} +</span></pre> +<p></p> + <h6 class="CaptionFigColumn SchemaHeader">Supplied Implementation: </h6>No implementation supplied for this extensinion point. <p></p> diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_configurationWizards.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_configurationWizards.html index a2dc47c56..c0aebad3c 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_configurationWizards.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_configurationWizards.html @@ -18,7 +18,7 @@ instances.<p></p> <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.category">category</a> | <a href="#e.wizard">wizard</a>)*></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>point</b> - a fully qualified identifier of the target extension point</li> @@ -27,7 +27,7 @@ instances.<p></p> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.category">category</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST category</p> -<p class="code SchemaDtdAttlist">id CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #REQUIRED<p class="code SchemaDtdAttlist">parentCategory CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">id CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">parentCategory CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>id</b> - a unique name that can be used to identify this category</li> @@ -36,7 +36,7 @@ instances.<p></p> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.wizard">wizard</a> (<a href="#e.description">description</a>?)></p> <p class="code SchemaDtd"><!ATTLIST wizard</p> -<p class="code SchemaDtdAttlist">id CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #REQUIRED<p class="code SchemaDtdAttlist">category CDATA #IMPLIED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">icon CDATA #IMPLIED<p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">id CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">category CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">icon CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> an element that will be used to create export wizard</p> @@ -76,6 +76,42 @@ of the export engine functionality.</p> </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The "class" attribute (required) must have a class that implements the <b>org.eclipse.ecf.ui.IConfigurationWizard</b> interface: + +<pre class="Example"><span class="code SchemaTag"> +/** + * Required interface for implementing + * <b>org.eclipse.ecf.ui.configurationWizards</b> extension point. Extensions + * for extension point <b>org.eclipse.ecf.ui.configurationWizards</b> must + * provide a class implementing this interface. + */ +public interface IConfigurationWizard extends IWizard { + + /** + * Initialize the wizard with the workbench and the desired container type + * description + * + * @param workbench + * the workbench for the wizard. Will not be null. + * @param description + * the {@link ContainerTypeDescription} to use to + * create/configure the new IContainer instance + */ + public void init(IWorkbench workbench, + ContainerTypeDescription description); + + /** + * Get result of configuration. + * + * @return ContainerHolder the result of the configuration. If null, the container could not be + * created. + */ + public ContainerHolder getConfigurationResult(); +} + +</span></pre> +<p></p> + <br> <p class="note SchemaCopyright"> /**************************************************************************** diff --git a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_connectWizards.html b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_connectWizards.html index 634832791..8ba4dbd06 100644 --- a/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_connectWizards.html +++ b/doc/bundles/org.eclipse.ecf.doc/html/reference/extension-points/org_eclipse_ecf_ui_connectWizards.html @@ -18,7 +18,7 @@ instances.<p></p> <p></p> <p class="code SchemaDtd"><!ELEMENT <a name="e.extension">extension</a> (<a href="#e.category">category</a> | <a href="#e.wizard">wizard</a>)*></p> <p class="code SchemaDtd"><!ATTLIST extension</p> -<p class="code SchemaDtdAttlist">point CDATA #REQUIRED<p class="code SchemaDtdAttlist">id CDATA #IMPLIED<p class="code SchemaDtdAttlist">name CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">point CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>point</b> - a fully qualified identifier of the target extension point</li> @@ -27,7 +27,7 @@ instances.<p></p> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.category">category</a> EMPTY></p> <p class="code SchemaDtd"><!ATTLIST category</p> -<p class="code SchemaDtdAttlist">id CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #REQUIRED<p class="code SchemaDtdAttlist">parentCategory CDATA #IMPLIED></p> +<p class="code SchemaDtdAttlist">id CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">parentCategory CDATA #IMPLIED</p>></p> <p></p> <ul class="ConfigMarkupAttlistDesc"> <li><b>id</b> - a unique name that can be used to identify this category</li> @@ -36,7 +36,7 @@ instances.<p></p> </ul> <br><p class="code SchemaDtd"><!ELEMENT <a name="e.wizard">wizard</a> (<a href="#e.description">description</a>?)></p> <p class="code SchemaDtd"><!ATTLIST wizard</p> -<p class="code SchemaDtdAttlist">id CDATA #REQUIRED<p class="code SchemaDtdAttlist">name CDATA #REQUIRED<p class="code SchemaDtdAttlist">category CDATA #IMPLIED<p class="code SchemaDtdAttlist">class CDATA #REQUIRED<p class="code SchemaDtdAttlist">icon CDATA #IMPLIED<p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED></p> +<p class="code SchemaDtdAttlist">id CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">category CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">class CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">icon CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">containerFactoryName CDATA #REQUIRED</p>></p> <p></p> <p class="ConfigMarkupElementDesc"> an element that will be used to create export wizard</p> @@ -76,6 +76,31 @@ of the export engine functionality.</p> </span></pre> <p></p> +<h6 class="CaptionFigColumn SchemaHeader">API Information: </h6>The "class" attribute (required) must have a class that implements the <b>org.eclipse.ecf.ui.IConfigurationWizard</b> interface: + +<pre class="Example"><span class="code SchemaTag"> +/** + * Required interface for implementing <b>org.eclipse.ecf.ui.connectWizards</b> + * extension point. Extensions for extension point + * <b>org.eclipse.ecf.ui.connectWizards</b> must provide a class implementing + * this interface. + */ +public interface IConnectWizard extends IWizard { + + /** + * Initialize the connect wizard. + * + * @param workbench + * the currently working workbench instance. Will not be null. + * @param container + * the container that is to be connected. Will not be null. + */ + public void init(IWorkbench workbench, IContainer container); +} + +</span></pre> +<p></p> + <br> <p class="note SchemaCopyright"> /**************************************************************************** diff --git a/doc/bundles/org.eclipse.ecf.doc/schema.xml b/doc/bundles/org.eclipse.ecf.doc/schema.xml index 229ccfef1..e3782d1ea 100644 --- a/doc/bundles/org.eclipse.ecf.doc/schema.xml +++ b/doc/bundles/org.eclipse.ecf.doc/schema.xml @@ -3,7 +3,7 @@ <property name="dest.path" value="html/reference/extension-points"/> <target name="org.eclipse.ecf.identity"> - <eclipse.convertPath property="org.eclipse.ecf.identity.manifest" resourcePath="/org.eclipse.ecf.core.identity/plugin.xml"/> + <eclipse.convertPath property="org.eclipse.ecf.identity.manifest" resourcePath="/org.eclipse.ecf.identity/plugin.xml"/> <antcall target="_plugin"> <param name="manifest.path" value="${org.eclipse.ecf.identity.manifest}"/> </antcall> @@ -17,7 +17,7 @@ </target> <target name="org.eclipse.ecf.sharedobject"> - <eclipse.convertPath property="org.eclipse.ecf.sharedobject.manifest" resourcePath="/org.eclipse.ecf.core.sharedobject/plugin.xml"/> + <eclipse.convertPath property="org.eclipse.ecf.sharedobject.manifest" resourcePath="/org.eclipse.ecf.sharedobject/plugin.xml"/> <antcall target="_plugin"> <param name="manifest.path" value="${org.eclipse.ecf.sharedobject.manifest}"/> </antcall> diff --git a/doc/bundles/org.eclipse.ecf.doc/topics_Extpoint.xml b/doc/bundles/org.eclipse.ecf.doc/topics_Extpoint.xml index 6f37c0d06..3375804c6 100644 --- a/doc/bundles/org.eclipse.ecf.doc/topics_Extpoint.xml +++ b/doc/bundles/org.eclipse.ecf.doc/topics_Extpoint.xml @@ -1,5 +1,6 @@ <toc label="Extension Points"> +<topic label="org.eclipse.ecf.container" href="html/reference/extension-points/org_eclipse_ecf_container.html"/> <topic label="org.eclipse.ecf.containerFactory" href="html/reference/extension-points/org_eclipse_ecf_containerFactory.html"/> <topic label="org.eclipse.ecf.identity.namespace" href="html/reference/extension-points/org_eclipse_ecf_identity_namespace.html"/> <topic label="org.eclipse.ecf.discovery.ui.serviceAccessHandler" href="html/reference/extension-points/org_eclipse_ecf_discovery_ui_serviceAccessHandler.html"/> |