StringDef
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 methods |
|
|---|---|
abstract @NonNull boolean |
open()Whether any other values are allowed. |
abstract @NonNull Array<@NonNull String> |
value()Defines the allowed constants for this element |
Public methods
open
@NonNull
public abstract boolean open()
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
@NonNull
public abstract Array<@NonNull String> value()
Defines the allowed constants for this element