Class EmptyTypeTarget

java.lang.Object
org.jboss.jandex.TypeTarget
org.jboss.jandex.EmptyTypeTarget
All Implemented Interfaces:
AnnotationTarget

public class EmptyTypeTarget extends TypeTarget
Represents a target of type annotation which occurs directly on a field type, a method return type, or a method receiver type. This class conveys the enclosing field or method, and if a method, also differentiates between the receiver and return value. Since type targets can appear at any depth of the type tree at this location, the corresponding type reference is also included.

Consider the following example involving a type target using the Bar annotation:

 public List<@Bar T> foo() { ... }
 
This example would be represented as an EmptyTypeTarget with an enclosing target of the MethodInfo of foo, and isReceiver() would be false.
  • Field Details

    • receiver

      private boolean receiver
  • Constructor Details

    • EmptyTypeTarget

      EmptyTypeTarget(AnnotationTarget enclosingTarget, boolean receiver)
    • EmptyTypeTarget

      EmptyTypeTarget(AnnotationTarget enclosingTarget, Type target, boolean receiver)
  • Method Details

    • isReceiver

      public boolean isReceiver()
      Returns whether the annotated type occurs within a method receiver (the this reference the method receives). It will return false if the type occurs in a method return type or in a field type.
      Returns:
      true if the annotated type occurs within a method receiver type, otherwise false
    • usage

      public final TypeTarget.Usage usage()
      Description copied from class: TypeTarget
      Returns the kind of usage of this type target. This allows a caller to use a switch statement as opposed to getClass() comparisons.
      Specified by:
      usage in class TypeTarget
      Returns:
      the kind of usage of this type target
    • asEmpty

      public EmptyTypeTarget asEmpty()
      Overrides:
      asEmpty in class TypeTarget