Copyright (c) 2004, 2010 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
/******************************************************************************* * Copyright (c) 2004, 2010 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.osgi.service.runnable;
Like a Runnable, an object which captures a block of code which can be passed around and executed. Unlike standard runnables, paramaterized runnables allow an arbitrary Object to be passed in when the block is evaluated.

Clients may implement this interface.

This class is for internal use by the platform-related plug-ins. Clients outside of the base platform should not reference or subclass this class.

Since:3.0
/** * Like a {@link java.lang.Runnable}, an object which captures a block of code which can * be passed around and executed. Unlike standard runnables, paramaterized * runnables allow an arbitrary {@link java.lang.Object} to be passed in when the * block is evaluated. * <p> * Clients may implement this interface. * </p> * <p> * This class is for internal use by the platform-related plug-ins. * Clients outside of the base platform should not reference or subclass this class. * </p> * @since 3.0 */
public interface ParameterizedRunnable {
Executes the block of code encapsulated by this runnable in the context of the given object and returns the result. The result may be null.
Params:
  • context – the context for evaluating the runnable
Throws:
  • Exception – if there is a problem running this runnable
Returns:the result of evaluating the runnable in the given context
/** * Executes the block of code encapsulated by this runnable in the context of * the given object and returns the result. The result may be <code>null</code>. * * @param context the context for evaluating the runnable * @return the result of evaluating the runnable in the given context * @throws Exception if there is a problem running this runnable */
public Object run(Object context) throws Exception; }