All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.equinox.app.IApplication Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2005, 2018 IBM Corporation and others.
 *
 *  This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License 2.0
 *  which accompanies this distribution, and is available at
 *  https://www.eclipse.org/legal/epl-2.0/
 *
 *  SPDX-License-Identifier: EPL-2.0
 * 
 *  Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

package org.eclipse.equinox.app;

/**
 * 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 */ public interface IApplication { /** * Exit object indicating normal termination */ public static final Integer EXIT_OK = Integer.valueOf(0); /** * Exit object requesting platform restart */ public static final Integer EXIT_RESTART = Integer.valueOf(23); /** * 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 * {@link IApplicationContext#EXIT_DATA_PROPERTY eclipse.exitdata} system property. */ public static final Integer EXIT_RELAUNCH = Integer.valueOf(24); /** * 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 {@link IApplicationContext#EXIT_ASYNC_RESULT} if * the application will deliver its results asynchronously with the * {@link 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. *

* @return the return value of the application * @see #EXIT_OK * @see #EXIT_RESTART * @see #EXIT_RELAUNCH * @see IApplicationContext#EXIT_ASYNC_RESULT * @param context the application context to pass to the application * @exception Exception if there is a problem running this application. */ public Object start(IApplicationContext context) throws Exception; /** * Forces this running application to exit. This method should wait until the * running application is ready to exit. The {@link #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 {@link #start(IApplicationContext)} method. *

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

*/ public void stop(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy