| Package | Description | 
|---|---|
| ej.annotation | 
 Defines annotations for static  
null analysis. | 
| java.lang | 
 Contains core language classes. 
 | 
| java.lang.annotation | 
 Contains core language classes related to compile-time annotations. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
interface  | 
NonNull
Indicates that a field, local variable, method return value or parameter can never be
  
null. | 
interface  | 
NonNullByDefault
Indicates that all fields, method return values or parameters can never be  
null in
 the annotated package or type. | 
interface  | 
Nullable
Indicates that a field, local variable, method return value or parameter can be
  
null. | 
| Modifier and Type | Class and Description | 
|---|---|
interface  | 
Deprecated
A program element annotated @Deprecated is one that programmers are discouraged from using,
 typically because it is dangerous, or because a better alternative exists. 
 | 
interface  | 
SafeVarargs
A programmer assertion that the body of the annotated method or constructor does not perform
 potentially unsafe operations on its varargs parameter. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
interface  | 
Documented
Indicates that annotations with a type are to be documented by javadoc and similar tools by
 default. 
 | 
interface  | 
Inherited
Indicates that an annotation type is automatically inherited. 
 | 
interface  | 
Retention
Indicates how long annotations with the annotated type are to be retained. 
 | 
interface  | 
Target
Indicates the kinds of program element to which an annotation type is applicable. 
 |