Is it possible to make a Java annotation's value mandatory?
If you do not specify a default value, it is mandatory. For your example using your annotation without using the MyValue
attribute generates this compiler error:
annotation MyAnnotation is missing MyValue
Given
public @interface MyAnnotation {
int MyValue();
}
a class
@MyAnnotation
public class MyClass {
}
will be a compile error without a value.