lightbulb_outline Please take our October 2018 developer survey. Start survey

LongDef

public abstract @interface LongDef
implements Annotation

android.support.annotation.LongDef


Denotes that the annotated long element represents a logical type and that its value should be one of the explicitly named constants. If the LongDef#flag() attribute is set to true, multiple constants can be combined.

Example:


  @Retention(SOURCE)
  @LongDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
  public @interface NavigationMode {}
  public static final long NAVIGATION_MODE_STANDARD = 0;
  public static final long NAVIGATION_MODE_LIST = 1;
  public static final long NAVIGATION_MODE_TABS = 2;
  ...
  public abstract void setNavigationMode(@NavigationMode long mode);
  @NavigationMode
  public abstract long getNavigationMode();
 
For a flag, set the flag attribute:

  @LongDef(
      flag = true,
      value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
 

See also:

Summary

Public methods

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

Inherited methods

From interface java.lang.annotation.Annotation

Public methods

flag

boolean flag ()

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

Returns
boolean

value

long[] value ()

Defines the allowed constants for this element

Returns
long[]