The language model for CDI provides a reflection-free model of the Java language. It allows inspecting the high-level structure of programs without having to load any of their classes or instantiate any of the present annotations.

The root interface AnnotationTarget represents anything that can be annotated. Two kinds of annotation targets are distinguished:

Structure of declarations and types may be further inspected.

Modules 
Module Description
jakarta.cdi.lang.model