All Classes and Interfaces
Class
Description
Indicates that the return value of the annotated API is ignorable.
Indicates that the return value of the annotated method must be used.
Declares that a parameter to a method must be "compatible with" one of the type parameters in the
method's enclosing class, or on the method itself.
Annotation for method parameter and class field declarations, which denotes that corresponding
actual values must be compile-time constant expressions.
Indicates that the annotated method should not be called under any normal circumstances, yet is
either impossible to remove, or should not ever be removed.
Annotation representing a type that should not be mocked.
Annotation for a method that takes a printf-style format string as an argument followed by
arguments for that format string.
Annotation for method parameter declarations which denotes that actual parameters will be used as
a format string in printf-style formatting.
Indicates that the annotated method is provided only to be overridden: it should not be
invoked from outside its declaring source file (as if it is
private
), and
overriding methods should not be directly invoked at all.Indicates that the annotated element should be used only while holding the specified lock.
The class to which this annotation is applied is immutable.
Annotation declaring that the target annotation is incompatible with any one of the provided
modifiers.
Indicates that callers of this API should be inlined.
An annotation that disables validation of the
InlineMe
annotation's correctness (i.e.:
that it accurately represents an inlining of the annotated method).Indicates that the annotated element should not be removed, and that its visibility, modifiers,
type, and name should not be modified.
Use this annotation on any static or field that will be initialized lazily, where races yield no
semantic difference in the code (as, for example, is the case with
String.hashCode()
).Deprecated.
the correctness of this annotation is not enforced; it will soon be removed.
Modifiers in the Java language, as specified in:
https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.1.1
https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.3.1
https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.4.3
https://docs.oracle.com/javase/specs/jls/se11/html/jls-9.html#jls-9.4
Annotation for constructors of AutoCloseables or methods that return an AutoCloseable and require
that the resource is closed.
Annotation for method declarations, which denotes that this method will not cause allocations
that are visible from source code.
Indicates that any concrete method that overrides the annotated method, directly or indirectly,
must invoke
super.theAnnotatedMethod(...)
at some point.Annotation declaring that the target annotation requires all the specified modifiers.
Restrict this method to callsites with a allowlist annotation.
Indicates that the PackageLocation warning should be suppressed for this package.
This annotation indicates that the class/interface it is applied to is thread safe
Deprecated.
the correctness of this annotation is not enforced; it will soon be removed.
The parameter or local variable to which this annotation is applied is non-final.