I think the current wording of 3.13 "Vetoing types" is misleading now. E.g. @Vetoed on annotation (qualifier, stereotype) has no effect. Also the spec wording should be synced with @Vetoed javadoc.
To sum it up: @Vetoed affects classes, interfaces, enums.
- class -> no container lifecycle event (PAT), no bean or observer methods defined by the class will be installed
- interface, enum -> no container lifecycle event (PAT)
I suggest something similar:
Any Java class, interface, enum or package may be prevented from being considered by CDI by adding the @Vetoed annotation.
- any beans or observer methods defined by a class annotated with @Vetoed will not be installed
- no container lifecycle events are fired for classes, interfaces or enums annotated with @Vetoed
- when @Vetoed placed on package, all classes, interfaces or enums in the package are prevented from being considered by CDI
The rest is ok.