blob: ce06812b698ace853622419774353b2525225890 [file] [log] [blame]
<!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>ECF start</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">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</p>&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) </p>&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.
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>