LongDef

@Target([AnnotationTarget.ANNOTATION_CLASS]) class LongDef
androidx.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}) 

Summary

Public constructors
<init>(vararg value: Long, flag: Boolean, open: Boolean)

Denotes that the annotated long element represents a logical type and that its value should be one of the explicitly named constants.

Properties
Boolean

Whether any other values are allowed.

LongArray

Defines the allowed constants for this element

Boolean

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

Public constructors

<init>

LongDef(vararg value: Long, flag: Boolean, open: Boolean)

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

Properties

open

val open: Boolean

Whether any other values are allowed. Normally this is not the case, but this allows you to specify a set of expected constants, which helps code completion in the IDE and documentation generation and so on, but without flagging compilation warnings if other values are specified.

value

val value: LongArray

Defines the allowed constants for this element

flag

val flag: Boolean

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