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 properties |
||
|---|---|---|
Boolean |
Whether any other values are allowed. |
Cmn
|
Array<String> |
Defines the allowed constants for this element |
Cmn
|
Public 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.