StringDef

@Retention(value = SOURCE)  @Target(value = ) 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 boolean

Whether any other values are allowed.

abstract String[]

Defines the allowed constants for this element

Public methods

open

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

public abstract String[] value()

Defines the allowed constants for this element