An annotation constrained to appear only on certain program elements, and only with certain values.

This interface should not be satisfied directly. Instead either `OptionalAnnotation` or `SequencedAnnotation` should be satisfied.

See also `Annotation`

no type hierarchy

- `ConstrainedAnnotation`
  - `Annotation`

- `ConstrainedAnnotation` of
  - `OptionalAnnotation`
    - `AbstractAnnotation`
    - `ActualAnnotation`
    - `AnnotationAnnotation`
    - `AuthorsAnnotation`
    - `DefaultAnnotation`
    - `DeprecationAnnotation`
    - `DocAnnotation`
    - `FinalAnnotation`
    - `FormalAnnotation`
    - `LateAnnotation`
    - `LicenseAnnotation`
    - `NativeAnnotation`
    - `OptionalImportAnnotation`
    - `SealedAnnotation`
    - `SharedAnnotation`
    - `TagsAnnotation`
    - `VariableAnnotation`
  - `SequencedAnnotation`
    - `SeeAnnotation`
    - `ThrownExceptionAnnotation`

Inherited Attributes
Attributes inherited from: `Object` `Object.hash`, `Object.string`

Methods
`occurs` | Source Code `shared Boolean occurs(Annotated programElement)` Can this annotation occur on the given program element?

Inherited Methods
Methods inherited from: `Object` `Object.equals()`