StringDef

  • Cmn
    @Retention(value = AnnotationRetention.SOURCE)
    @Target(allowedTargets = [AnnotationTarget.ANNOTATION_CLASS])
    annotation StringDef

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

Example:

@Retention(SOURCE)
@StringDef({
POWER_SERVICE,
WINDOW_SERVICE,
LAYOUT_INFLATER_SERVICE
})
public @interface ServiceName {}
public static final String POWER_SERVICE = "power";
public static final String WINDOW_SERVICE = "window";
public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
...
public abstract Object getSystemService(@ServiceName String name);

Summary

Public constructors

StringDef(vararg value: String, open: Boolean)
Cmn

Public properties

Boolean

Whether any other values are allowed.

Cmn
Array<String>

Defines the allowed constants for this element

Cmn

Public constructors

StringDef

StringDef(vararg value: String = [], open: Boolean = false)

Public properties

open

val openBoolean

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 valueArray<String>

Defines the allowed constants for this element