blob: bb2e331405699e23b6e5de1962377f0664fb7c20 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ECF start</title>
<style type="text/css">@import url("../../../../org.eclipse.platform.doc.isv/book.css");</style>
<style type="text/css">@import url("../../../../org.eclipse.platform.doc.isv/schema.css");</style>
</HEAD>
<BODY>
<H1 style="text-align:center">ECF start</H1>
<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.ecf.start<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>2.0.0M4
<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>ECF Core Start Extension Point. This extension point (<b>org.eclipse.ecf.start</b>) allows extensions to run upon ECF core bundle startup. Note that extensions will be run when the ECF core bundle (ID: <b>org.eclipse.ecf</b>) is started by the runtime, not necessarily upon platform startup.<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
<p></p>
<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.run">run</a>)+&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p>
<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p>
<p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
</ul>
<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.run">run</a> EMPTY&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST run</p>
<p class="code SchemaDtdAttlist">class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p>
<p class="code SchemaDtdAttlist">asynchronous&nbsp;(true | false) &gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
<li><b>class</b> - Class that must implement IECFStart.</li>
<li><b>asynchronous</b> - Attribute to determine whether the given run class is run synchronously (default) or asynchronously</li>
</ul>
<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6>Here is an example usage of this extension point:
<pre class="Example"><span class="code SchemaTag">
&lt;extension
point=</span><span class="code SchemaCstring">&quot;org.eclipse.ecf.start&quot;</span><span class="code SchemaTag">&gt;
&lt;run
class=</span><span class="code SchemaCstring">&quot;org.eclipse.ecf.example.collab.start.CollabStart&quot;</span><span class="code SchemaTag">/&gt;
&lt;/extension&gt;
&lt;extension
point=</span><span class="code SchemaCstring">&quot;org.eclipse.ecf.start&quot;</span><span class="code SchemaTag">&gt;
&lt;run
class=</span><span class="code SchemaCstring">&quot;org.eclipse.ecf.example.collab.start.CollabStart&quot;</span><span class="code SchemaTag"> asynchronous=</span><span class="code SchemaCstring">&quot;true&quot;</span><span class="code SchemaTag">/&gt;
&lt;/extension&gt;
</span></pre>
Note that the CollabStart class must implement the <b>org.eclipse.ecf.start.IECFStart</b> interface.
Here's an example implementation class:
<pre class="Example"><span class="code SchemaTag">
public class CollabStart implements IECFStart {
public IStatus run(IProgressMonitor monitor) {
...
}
}
</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>
<br>
<p class="note SchemaCopyright">
Copyright (c) 2007 Composent, Inc. and others.
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0
which is available at https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
</p>
</BODY>
</HTML>