This inspection checks for Seam annotations that appear on classes or methods with invalid signatures or fields with invalid type.
  • @Name
    @Name is invalid on interfaces or abstract classes. @Name annotation requires a no-argument constructor in the annotated class.
  • @In
    Must appear either on a field or on a method that has "setter-signature": void setUser(User user)
    • void return type
    • single argument
    • not static
    • name must start with "set"
  • @Out
    Must appear either on a field or on a method that has "getter-signature": User getUser()
    • non-void return type
    • no arguments
    • not static
    • name must start with "get" or optionally "is" when return type is "boolean"
  • @DataModel
    If annotation is on method, then the method must have "getter-signature" (like for @Out annotation). Additionally the type (field type or return type of getter) must be one of:
    • java.util.List
    • java.util.Set
    • java.util.Map
  • @DataModelSelection
    If annotation is on method, then the method must have "setter-signature".
  • @DataModelSelectionIndex
    If annotation is on method, then the method must have "setter-signature".
  • @Factory
    Method that have this signature:
    • non-void return type
    • either no parameters or a single parameter of class 'org.jboss.seam.Component' (or super type)
    • not static
  • @Unwrap
    Annotated method must have this signature:
    • non-void return type
    • either no parameters or a single parameter of class 'org.jboss.seam.Component' (or super type)
    • not static
  • @Create
    Annotated method must have this signature:
    • either no parameters or a single parameter of class 'org.jboss.seam.Component' (or super type)
    • not static
  • @Destroy
    Annotated method must have this signature:
    • void return type
    • no parameters
    • not static