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

org.eclipse.core.runtime.jobs.ISchedulableOperation 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) 2022 Joerg Kubitz.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     Joerg Kubitz - initial API and implementation
 *******************************************************************************/
package org.eclipse.core.runtime.jobs;

import org.eclipse.core.runtime.IProgressMonitor;

/**
 * An interface to mark an operation that needs an {@link ISchedulingRule}.
 *
 * @since 3.13
 */
public interface ISchedulableOperation {
	/**
	 * Gives the caller a hint whether this operation will acquire a rule to proceed
	 * in the current thread. If a {@link ISchedulingRule} is returned the caller
	 * should call {@link IJobManager#beginRule(ISchedulingRule, IProgressMonitor)}
	 * before and {@link IJobManager#endRule(ISchedulingRule)} after the operation.
	 *
	 * @return an {@link ISchedulingRule} that the operation will acquire in the
	 *         current thread - if any. Returns {@code null} if no rule needed - in
	 *         that case the caller should not call beginRule or
	 *         endRule. As this method returns only a hint the
	 *         operation can not assume that the caller already acquired the rule.
	 *         The operation still has to acquire it - which will lead to a nested
	 *         rule.
	 *
	 * @since 3.13
	 */
	ISchedulingRule getSchedulingRule();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy