# ECF start

###### Identifier:

org.eclipse.ecf.start

###### Since:

2.0.0M4

###### Description:

ECF Core Start Extension Point. This extension point (org.eclipse.ecf.start) allows extensions to run upon ECF core bundle startup. Note that extensions will be run when the ECF core bundle (ID: org.eclipse.ecf) is started by the runtime, not necessarily upon platform startup.

###### Configuration Markup:

<!ELEMENT extension (run)+>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT run EMPTY>

<!ATTLIST run

class CDATA #REQUIRED

asynchronous (true | false)

>

- class - Class that must implement IECFStart.
- asynchronous - Attribute to determine whether the given run class is run synchronously (default) or asynchronously

###### Examples:

Here is an example usage of this extension point:

    <extension
          point="org.eclipse.ecf.start">
       <run
             class="org.eclipse.ecf.example.collab.start.CollabStart"/>
    </extension>

    <extension
          point="org.eclipse.ecf.start">
       <run
             class="org.eclipse.ecf.example.collab.start.CollabStart" asynchronous="true"/>
    </extension>

Note that the CollabStart class must implement the org.eclipse.ecf.start.IECFStart interface. Here's an example implementation class:

    public class CollabStart implements IECFStart {

     public IStatus run(IProgressMonitor monitor) {
         ...
     }

    }

###### API Information:

org.eclipse.ecf.startup.IECFStartup interface:

    /**
     * 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);
    }

###### Supplied Implementation:

No implementation supplied for this extensinion point.

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