Annotation Interface I18nFormatFor
@Documented
@Retention(RUNTIME)
@Target({TYPE_USE,TYPE_PARAMETER})
@SubtypeOf(I18nUnknownFormat.class)
public @interface I18nFormatFor
This annotation indicates that when a string of the annotated type is passed as the first
argument to
MessageFormat.format(String, Object...)
, then the expression that
is an argument to the annotation can be passed as the remaining arguments, in varargs style.
The annotation is used to annotate a method to ensure that an argument is of a particular type indicated by a format string.
Example:
static void method(@I18nFormatFor("#2") String format, Object... arg2) {...} method("{0, number}", 2);This ensures that the second parameter ("#2") can be passed as the remaining arguments of
MessageFormat.format(String, Object...)
, when the first argument is "format"
.- See the Checker Framework Manual:
- Internationalization Format String Checker
-
Required Element Summary
-
Element Details
-
value
String valueIndicates which formal parameter is the arguments to the format method. The value should be#
followed by the 1-based index of the formal parameter that is the arguments to the format method, e.g.,"#2"
.- Returns:
#
followed by the 1-based index of the formal parameter that is the arguments to the format method
-