Something I keep forgetting, which I’m recording here so I can remember in the future.
When creating a new annotation which is to be parsed during execution with Java Reflection, you must change the retention policy with the @Retention annotation.
So, for example:
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation {
...
}
This will keep the annotation around when checking annotations at runtime.
For whatever reason I keep forgetting this.