All Classes and Interfaces
Class
Description
Set of annotations which can be used to specify status of API Element.
Indicates that the annotated element firstly appeared in the specified version of the library, so the code using that element
won't be compatible with older versions of the library.
Indicates that a public API of the annotated element (class, method or field) is not in stable state yet.
Indicates that the annotated element (class, method, field, etc) must not be considered as a public API.
Indicates that the annotated API class, interface or method must not be extended, implemented or overridden.
Indicates that a public API of the annotated element (class, method or field) is subject to deprecation in a future version.
Indicates that the annotated method is part of SPI (Service Provider Interface), which is intended to be
only implemented or overridden but not called by clients of the declaring library.
Indicates that a public API of the annotated element (class, method or field) is subject to removal in a future version.
Helper annotations for asynchronous computation.
Indicates that the marked method executes async computation.
Indicates that the marked method schedules async computation.
Indicates that the annotated method is inherently blocking and should not be executed in a non-blocking context.
Indicates that the annotated executor (CoroutineContext, Scheduler)
allows blocking methods execution.
Specifies that the method is impure and that its return value must be used.
Specifies some aspects of the method behavior depending on the arguments.
Allows changing the presentation of an object in debuggers
This annotation assists the 'Data flow to this' feature by describing data flow
from the method parameter to the corresponding container (e.g.
Deprecated.
this class will be removed in future versions to avoid Swing dependency,
which is unnecessary for most of the clients.
Specifies that an element of the program represents a string that is a source code on a specified language.
This annotation intended to help IntelliJ IDEA and other IDEs to detect and auto-complete int and String constants used as an enumeration.
The annotation should be applied to overridable non-abstract method
and indicates that all the overriders must invoke this method via
superclass method invocation expression.
Specifies that an element of the program is a user-visible string which needs to be localized.
Indicates that the annotated method is inherently non-blocking and can be executed in a non-blocking context.
Indicates that the annotated executor (CoroutineContext, Scheduler)
does not allow blocking methods execution.
Specifies that an element of the program is not a user-visible string which needs to be localized,
or does not contain such strings.
An element annotated with NotNull claims
null
value is forbidden
to return (for methods), pass to (parameters) and hold (local variables and fields).A meta-annotation applicable to Java class or package, which means that the non-primitive types mentioned
in the following contexts are recursively not-null by default:
Types of fields
Types of method parameters
Types of method return values
Recursively not-null means that along with types themselves, the components of array types, the type arguments
of generic types and the upper bounds of wildcard types are also not-null.
An element annotated with
Nullable
claims null
value is perfectly valid
to return (for methods), pass to (parameters) or hold in (local variables and fields).Specifies that an element of the program represents a string that must completely match given regular expression.
Specifies that the method parameter is a printf-style print format pattern,
as described in
Formatter
.Specifies that a method parameter, local variable, field or a method return value
must be a valid property key in a specific resource bundle.
An annotation which allows to specify for integral type (byte, char, short, int, long) an allowed values range.
Specifies that an element of the program represents a string that is a regular expression text supported
by
Pattern
.Specifies the replacement value for non-constant variables and method return values.
A member or type annotated with TestOnly claims that it should be used from testing code only.
An element annotated with
UnknownNullability
claims that no specific nullability
should be assumed by static analyzer.An annotation which marks a
Collection
or Map
type
as unmodifiable.An annotation which marks a
Collection
or Map
type
as unmodifiable view.A member or type annotated with VisibleForTesting claims that its visibility is higher than necessary,
only for testing purposes.