Updating versions of project dependencies: jdkBuild->11_0_8b1098.1
[idea/community.git] / platform / util / src / com / intellij / BundleBase.java
index 88541dae022f82687244bc4c64eb54ebe8ff9036..10691cdef30e0f42be13719330bfcfd07b570f06 100644 (file)
@@ -6,10 +6,7 @@ import com.intellij.openapi.util.NlsSafe;
 import com.intellij.openapi.util.SystemInfoRt;
 import com.intellij.util.ReflectionUtil;
 import com.intellij.util.text.OrdinalFormat;
-import org.jetbrains.annotations.Contract;
-import org.jetbrains.annotations.Nls;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.*;
 
 import java.lang.reflect.Field;
 import java.text.MessageFormat;
@@ -22,11 +19,13 @@ import java.util.ResourceBundle;
  */
 public abstract class BundleBase {
   public static final char MNEMONIC = 0x1B;
-  public static final String MNEMONIC_STRING = Character.toString(MNEMONIC);
-  static final String L10N_MARKER = "🔅";
+  public static final @NlsSafe String MNEMONIC_STRING = Character.toString(MNEMONIC);
   public static final boolean SHOW_LOCALIZED_MESSAGES = Boolean.getBoolean("idea.l10n");
   public static final boolean SHOW_DEFAULT_MESSAGES = Boolean.getBoolean("idea.l10n.english");
   public static final boolean SHOW_KEYS = Boolean.getBoolean("idea.l10n.keys");
+
+  static final String L10N_MARKER = "🔅";
+
   private static final Logger LOG = Logger.getInstance(BundleBase.class);
 
   private static boolean assertOnMissedKeys;
@@ -55,8 +54,8 @@ public abstract class BundleBase {
     if (unassignedParams <= 0) throw new IllegalArgumentException();
     Object[] newParams = new Object[params.length + unassignedParams];
     System.arraycopy(params, 0, newParams, 0, params.length);
-    final String prefix = "#$$$TemplateParameter$$$#";
-    final String suffix = "#$$$/TemplateParameter$$$#";
+    @NonNls String prefix = "#$$$TemplateParameter$$$#";
+    @NonNls String suffix = "#$$$/TemplateParameter$$$#";
     for (int i = 0; i < unassignedParams; i++) {
       newParams[i + params.length] = prefix + i + suffix;
     }
@@ -86,14 +85,13 @@ public abstract class BundleBase {
     return sb.toString();
   }
 
-  @NotNull
-  public static @Nls String message(@NotNull ResourceBundle bundle, @NotNull String key, Object @NotNull ... params) {
+  public static @Nls @NotNull String message(@NotNull ResourceBundle bundle, @NotNull String key, Object @NotNull ... params) {
     return messageOrDefault(bundle, key, null, params);
   }
 
   public static @Nls String messageOrDefault(@Nullable ResourceBundle bundle,
                                              @NotNull String key,
-                                             @Nullable String defaultValue,
+                                             @Nullable @Nls String defaultValue,
                                              Object @NotNull ... params) {
     if (bundle == null) return defaultValue;
 
@@ -129,8 +127,8 @@ public abstract class BundleBase {
     return result;
   }
 
-  @NotNull
-  public static String getDefaultMessage(@NotNull ResourceBundle bundle, @NotNull String key) {
+  @SuppressWarnings("HardCodedStringLiteral")
+  public static @NotNull String getDefaultMessage(@NotNull ResourceBundle bundle, @NotNull String key) {
     try {
       Field parent = ReflectionUtil.getDeclaredField(ResourceBundle.class, "parent");
       if (parent != null) {
@@ -141,23 +139,23 @@ public abstract class BundleBase {
       }
     }
     catch (IllegalAccessException e) {
-      LOG.warn("Cannot fetch default message with -Didea.l10n.english enabled, by key '" + key + "'");
+      LOG.warn("Cannot fetch default message with 'idea.l10n.english' enabled, by key '" + key + "'");
     }
+
     return "undefined";
   }
 
   private static final String[] SUFFIXES = {"</body></html>", "</html>"};
 
-  @NotNull
-  protected static @NlsSafe String appendLocalizationSuffix(@NotNull String result, @NotNull String suffixToAppend) {
+  protected static @NlsSafe @NotNull String appendLocalizationSuffix(@NotNull String result, @NotNull String suffixToAppend) {
     for (String suffix : SUFFIXES) {
       if (result.endsWith(suffix)) return result.substring(0, result.length() - suffix.length()) + L10N_MARKER + suffix;
     }
     return result + suffixToAppend;
   }
 
-  @NotNull
-  static String useDefaultValue(@Nullable ResourceBundle bundle, @NotNull String key, @Nullable String defaultValue) {
+  @SuppressWarnings("HardCodedStringLiteral")
+  static @Nls @NotNull String useDefaultValue(@Nullable ResourceBundle bundle, @NotNull String key, @Nullable @Nls String defaultValue) {
     if (defaultValue != null) {
       return defaultValue;
     }
@@ -165,11 +163,12 @@ public abstract class BundleBase {
     if (assertOnMissedKeys) {
       LOG.error("'" + key + "' is not found in " + bundle);
     }
+
     return "!" + key + "!";
   }
 
-  @NotNull
-  static @Nls String postprocessValue(@NotNull ResourceBundle bundle, @NotNull String value, Object @NotNull ... params) {
+  @SuppressWarnings("HardCodedStringLiteral")
+  static @Nls @NotNull String postprocessValue(@NotNull ResourceBundle bundle, @NotNull @Nls String value, Object @NotNull ... params) {
     value = replaceMnemonicAmpersand(value);
 
     if (params.length > 0 && value.indexOf('{') >= 0) {
@@ -187,8 +186,8 @@ public abstract class BundleBase {
     return value;
   }
 
-  @NotNull
-  public static String format(@NotNull String value, Object @NotNull ... params) {
+  @Contract(pure = true)
+  public static @NotNull String format(@NotNull String value, Object @NotNull ... params) {
     return params.length > 0 && value.indexOf('{') >= 0 ? MessageFormat.format(value, params) : value;
   }
 
@@ -228,6 +227,7 @@ public abstract class BundleBase {
       }
       i++;
     }
-    return builder.toString();
+    @NlsSafe String result = builder.toString();
+    return result;
   }
-}
\ No newline at end of file
+}