Annotation Type IntDef


  • @Documented
    @Retention(SOURCE)
    @Target(ANNOTATION_TYPE)
    public @interface IntDef
    Denotes that the annotated element of integer type, represents a logical type and that its value should be one of the explicitly named constants. If the IntDef#flag() attribute is set to true, multiple constants can be combined.

    Example:

    
      @Retention(SOURCE)
      @IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
      public @interface NavigationMode {}
      public static final int NAVIGATION_MODE_STANDARD = 0;
      public static final int NAVIGATION_MODE_LIST = 1;
      public static final int NAVIGATION_MODE_TABS = 2;
      ...
      public abstract void setNavigationMode(@NavigationMode int mode);
      @NavigationMode
      public abstract int getNavigationMode();
     
    For a flag, set the flag attribute:
    
      @IntDef(
          flag = true,
          value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
     
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean flag
      Defines whether the constants can be used as a flag, or just as an enum (the default)
      int[] value
      Defines the allowed constants for this element
    • Element Detail

      • value

        int[] value
        Defines the allowed constants for this element
        Default:
        {}
      • flag

        boolean flag
        Defines whether the constants can be used as a flag, or just as an enum (the default)
        Default:
        false