Enum Class TypeUseLocation

java.lang.Object
java.lang.Enum<TypeUseLocation>
org.checkerframework.framework.qual.TypeUseLocation
All Implemented Interfaces:
Serializable, Comparable<TypeUseLocation>, Constable

public enum TypeUseLocation extends Enum<TypeUseLocation>
Specifies the locations to which a DefaultQualifier annotation applies.

The order of enums is important. Defaults are applied in this order. In particular, this means that OTHERWISE and ALL should be last.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Apply default annotations to all type uses other than uses of type parameters.
    Apply default annotations to all unannotated raw types of constructor result types.
    Apply default annotations to all unannotated raw types of exception parameters.
    Apply default annotations to unannotated, but explicit lower bounds: <? super Object>
    Apply default annotations to unannotated, but explicit upper bounds: <T extends Object>.
    Apply default annotations to all unannotated raw types of fields.
    Apply default annotations to unannotated, but implicit lower bounds: <T> <?>.
    Apply default annotations to unannotated type variables: <T>.
    Apply default annotations to all unannotated raw types of local variables, casts, and instanceof.
    Apply default annotations to unannotated lower bounds for type variables and wildcards both explicit ones in extends clauses, and implicit upper bounds when no explicit extends or super clause is present.
    Apply if nothing more concrete is provided.
    Apply default annotations to all unannotated raw types of formal parameter types, excluding the receiver.
    Apply default annotations to all unannotated raw types of receiver types.
    Apply default annotations to all unannotated raw types of resource variables.
    Apply default annotations to all unannotated raw types of return types.
    Apply default annotations to unannotated upper bounds: both explicit ones in extends clauses, and implicit upper bounds when no explicit extends or super clause is present.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the enum constant of this class with the specified name.
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • FIELD

      public static final TypeUseLocation FIELD
      Apply default annotations to all unannotated raw types of fields.
    • LOCAL_VARIABLE

      public static final TypeUseLocation LOCAL_VARIABLE
      Apply default annotations to all unannotated raw types of local variables, casts, and instanceof.
    • RESOURCE_VARIABLE

      public static final TypeUseLocation RESOURCE_VARIABLE
      Apply default annotations to all unannotated raw types of resource variables.
    • EXCEPTION_PARAMETER

      public static final TypeUseLocation EXCEPTION_PARAMETER
      Apply default annotations to all unannotated raw types of exception parameters.
    • RECEIVER

      public static final TypeUseLocation RECEIVER
      Apply default annotations to all unannotated raw types of receiver types.
    • PARAMETER

      public static final TypeUseLocation PARAMETER
      Apply default annotations to all unannotated raw types of formal parameter types, excluding the receiver.
    • RETURN

      public static final TypeUseLocation RETURN
      Apply default annotations to all unannotated raw types of return types.
    • CONSTRUCTOR_RESULT

      public static final TypeUseLocation CONSTRUCTOR_RESULT
      Apply default annotations to all unannotated raw types of constructor result types.
    • LOWER_BOUND

      public static final TypeUseLocation LOWER_BOUND
      Apply default annotations to unannotated lower bounds for type variables and wildcards both explicit ones in extends clauses, and implicit upper bounds when no explicit extends or super clause is present.
    • EXPLICIT_LOWER_BOUND

      public static final TypeUseLocation EXPLICIT_LOWER_BOUND
      Apply default annotations to unannotated, but explicit lower bounds: <? super Object>
    • IMPLICIT_LOWER_BOUND

      public static final TypeUseLocation IMPLICIT_LOWER_BOUND
      Apply default annotations to unannotated, but implicit lower bounds: <T> <?>.
    • UPPER_BOUND

      public static final TypeUseLocation UPPER_BOUND
      Apply default annotations to unannotated upper bounds: both explicit ones in extends clauses, and implicit upper bounds when no explicit extends or super clause is present.

      Especially useful for parametrized classes that provide a lot of static methods with the same generic parameters as the class.

    • EXPLICIT_UPPER_BOUND

      public static final TypeUseLocation EXPLICIT_UPPER_BOUND
      Apply default annotations to unannotated, but explicit upper bounds: <T extends Object>.
    • IMPLICIT_UPPER_BOUND

      public static final TypeUseLocation IMPLICIT_UPPER_BOUND
      Apply default annotations to unannotated type variables: <T>.
    • OTHERWISE

      public static final TypeUseLocation OTHERWISE
      Apply if nothing more concrete is provided. TODO: clarify relation to ALL.
    • ALL

      public static final TypeUseLocation ALL
      Apply default annotations to all type uses other than uses of type parameters. Does not allow any of the other constants. Usually you want OTHERWISE.
  • Method Details

    • values

      public static TypeUseLocation[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static TypeUseLocation valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null