org.jetbrains.annotations.Async Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of annotations Show documentation
Show all versions of annotations Show documentation
A set of annotations used for code inspection support and code documentation.
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Helper annotations for asynchronous computation.
* Used for example in IntelliJ IDEA's debugger for async stacktraces feature.
*
* @author egor
*/
public interface Async {
/**
* Indicates that the marked method schedules async computation.
* Scheduled object is either {@code this}, or the annotated parameter value.
*/
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@interface Schedule {}
/**
* Indicates that the marked method executes async computation.
* Executed object is either {@code this}, or the annotated parameter value.
* This object needs to match with the one annotated with {@link Schedule}
*/
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@interface Execute {}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy