These tutorials demonstrate how to use javax.annotation.processing, javax.lang.model.element and javax.lang.model.type packages to processor annotations at compile time.
Annotation processing API also known as Java pluggable Annotations or Compiler Plugins. Quick concepts on compile time annotation processing to generate code/resources and warnings/error.
Checking custom annotation defined value and it's field type. Demonstrating how to use Java annotation processor to do code validation during compile time.