Annotation Type IntDef


  • @Retention(CLASS)
    @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 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)
      long[] value
      Defines the allowed constants for this element
    • Element Detail

      • value

        long[] 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