This inspection checks for each usage of a Seam annotation if it appears on a valid component type.
All Seam annotations are only allowed for classes that are Seam components (except for @Around, @Within, @DataBinderClass and @DataSelectorClass).
Additionally many annotations are only valid for specific component types. Most importantly Entity Beans do not support bijection, context demaracation or transaction demarcation.
More specifically these are the allowed component types for each Seam annotation:
TypeAnnotationStateless
Session Bean
Stateful
Session Bean
Entity BeanJava Bean
Component
Definition
@NameXXXX
@ScopeXXXX
@RoleXXXX
@RolesXXXX
@InterceptXXXX
@JndiNameXX  
@StartupXXXX
Bijection@InXX X
@OutXX X
@UnwrapXX X
@FactoryXX X
@LoggerXX X
@RequestParameterXX X
Lifecycle@Create X X
@Destroy X X
@ObserverXXXX
Context
Demarcation
@BeginXX X
@BeginTaskXX X
@EndXX X
@EndTaskXX X
@StartTaskXX X
@ResumeProcessXX X
@CreateProcessXX X
Transaction
Demarcation
@Transactional   X
@RollbackXX X
Validation@IfInvalidXX X
Remoting@RemoteX
on local interface
X
on local interface
 X
JSF Data Table@DataModelXX X
@DataModelIndexXX X
@DataModelSelectionXX X
Data Binding@DataBinderClass   X
@DataSelectorClass   X