Eclipse Platform Release 3.7

## org.eclipse.equinox.app
Interface IApplication

All Known Implementing Classes:
  AntRunner

    public interface IApplication

Bootstrap type for an application. An IApplication represent executable entry points into an application. An IApplication can be configured into the Platform's `org.eclipse.core.runtime.applications` extension-point.

Clients may implement this interface.

Since:
  1.0

Field Summary
`static Integer` `EXIT_OK` Exit object indicating normal termination
`static Integer` `EXIT_RELAUNCH` Exit object requesting that the command passed back be executed.
`static Integer` `EXIT_RESTART` Exit object requesting platform restart

Method Summary
`Object` `start(IApplicationContext context)` Starts this application with the given context and returns a result.
`void` `stop()` Forces this running application to exit.

Field Detail

### EXIT_OK

    static final Integer EXIT_OK

  Exit object indicating normal termination

### EXIT_RESTART

    static final Integer EXIT_RESTART

  Exit object requesting platform restart

### EXIT_RELAUNCH

    static final Integer EXIT_RELAUNCH

  Exit object requesting that the command passed back be executed. Typically this is used to relaunch Eclipse with different command line arguments. When the executable is relaunched the command line will be retrieved from the `eclipse.exitdata` system property.

Method Detail

### start

    Object start(IApplicationContext context)
                 throws Exception

  Starts this application with the given context and returns a result. The content of the context is unchecked and should conform to the expectations of the application being invoked. This method can return the value `IApplicationContext.EXIT_ASYNC_RESULT` if the application will deliver its results asynchronously with the `IApplicationContext.setResult(Object, IApplication)` method; otherwise this method must not exit until the application is finished and is ready to exit.

  Applications can return any object they like. If an `Integer` is returned it is treated as the program exit code if Eclipse is exiting.

  Note: This method is called by the platform; it is not intended to be called directly by clients.

  Parameters:
    `context` - the application context to pass to the application
  Returns:
    the return value of the application
  Throws:
    `Exception` - if there is a problem running this application.
  See Also:
    `EXIT_OK`, `EXIT_RESTART`, `EXIT_RELAUNCH`, `IApplicationContext.EXIT_ASYNC_RESULT`

### stop

    void stop()

  Forces this running application to exit. This method should wait until the running application is ready to exit. The `start(IApplicationContext)` should already have exited or should exit very soon after this method exits

  This method is only called to force an application to exit. This method will not be called if an application exits normally from the `start(IApplicationContext)` method.

  Note: This method is called by the platform; it is not intended to be called directly by clients.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.