# All Classes and Interfaces

Class
Description
ApiStatus
Set of annotations which can be used to specify status of API Element.
ApiStatus.AvailableSince
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.
ApiStatus.Experimental
Indicates that a public API of the annotated element (class, method or field) is not in stable state yet.
ApiStatus.Internal
Indicates that the annotated element (class, method, field, etc) must not be considered as a public API.
ApiStatus.NonExtendable
Indicates that the annotated API class, interface or method must not be extended, implemented or overridden.
ApiStatus.OverrideOnly
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.
ApiStatus.ScheduledForRemoval
Indicates that a public API of the annotated element (class, method or field) is subject to removal in a future version.
Async
Helper annotations for asynchronous computation.
Async.Execute
Indicates that the marked method executes async computation.
Async.Schedule
Indicates that the marked method schedules async computation.
Blocking
Indicates that the annotated method is inherently blocking and should not be executed in a non-blocking context.
BlockingExecutor
Indicates that the annotated executor (CoroutineContext, Scheduler) allows blocking methods execution.
Contract
Specifies some aspects of the method behavior depending on the arguments.
Debug
Debug.Renderer
Allows to change the presentation of an object in debuggers
Flow
This annotation assists the 'Data flow to this' feature by describing data flow from the method parameter to the corresponding container (e.g.
Identifier
JdkConstants
Deprecated.
this class will be removed in future versions to avoid Swing dependency, which is unnecessary for most of the clients.
JdkConstants.AdjustableOrientation
JdkConstants.BoxLayoutAxis
JdkConstants.CalendarMonth
JdkConstants.CursorType
JdkConstants.FlowLayoutAlignment
JdkConstants.FontStyle
JdkConstants.HorizontalAlignment
JdkConstants.HorizontalScrollBarPolicy
JdkConstants.InputEventMask
JdkConstants.ListSelectionMode
JdkConstants.PatternFlags
JdkConstants.TabLayoutPolicy
JdkConstants.TabPlacement
JdkConstants.TitledBorderJustification
JdkConstants.TitledBorderTitlePosition
JdkConstants.TreeSelectionMode
JdkConstants.VerticalScrollBarPolicy
Language
Specifies that an element of the program represents a string that is a source code on a specified language.
MagicConstant
This annotation intended to help IntelliJ IDEA and other IDEs to detect and auto-complete int and String constants used as an enumeration.
MustBeInvokedByOverriders
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.
Nls
Specifies that an element of the program is an user-visible string which needs to be localized.
Nls.Capitalization
NonBlocking
Indicates that the annotated method is inherently non-blocking and can be executed in a non-blocking context.
NonBlockingExecutor
Indicates that the annotated executor (CoroutineContext, Scheduler) does not allow blocking methods execution.
NonNls
Specifies that an element of the program is not a user-visible string which needs to be localized, or does not contain such strings.
NotNull
An element annotated with NotNull claims `null` value is forbidden to return (for methods), pass to (parameters) and hold (local variables and fields).
Nullable
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).
Pattern
Specifies that an element of the program represents a string that must completely match given regular expression.
PrintFormat
PropertyKey
Specifies that a method parameter, local variable, field or a method return value must be a valid property key in a specific resource bundle.
Range
An annotation which allows to specify for integral type (byte, char, short, int, long) an allowed values range.
RegExp
Specifies that an element of the program represents a string that is a regular expression text supported by `Pattern`.
Subst
Specifies the replacement value for non-constant variables and method return values.
TestOnly
A member or type annotated with TestOnly claims that it should be used from testing code only.
UnknownNullability
An element annotated with `UnknownNullability` claims that no specific nullability should be assumed by static analyzer.
Unmodifiable
An annotation which marks a `Collection` or `Map` type as unmodifiable.
UnmodifiableView
An annotation which marks a `Collection` or `Map` type as unmodifiable view.
VisibleForTesting
A member or type annotated with VisibleForTesting claims that its visibility is higher than necessary, only for testing purposes.