Guest User

Untitled

a guest
Jul 17th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. message.myMessage=This message is for ${name} in ${location}
  2.  
  3. message.myMessage = This message is for {0} in {1}
  4.  
  5. message.myMessage = This message is for {0} in {1}
  6. message.myNameMessage = This message is for {0}
  7. message.myLocationMessage = This message is for people in {1}
  8. message.myAlternateMessage = The message params are location: {1}; name: {0}
  9.  
  10. message.myMessage = This message is for {0,,name} in {1,,location}
  11.  
  12. message.myMessage=This message is for {name} in {location}.
  13.  
  14. MessageFormatPattern:
  15. String
  16. MessageFormatPattern FormatElement String
  17.  
  18. FormatElement:
  19. { ArgumentIndex }
  20. { ArgumentIndex , FormatType }
  21. { ArgumentIndex , FormatType , FormatStyle }
  22.  
  23. public String format(String message, String... arguments) {
  24. for (String argument : arguments) {
  25. String[] keyValue = argument.split("=");
  26. if (keyValue.length != 2)
  27. throw new IllegalArgumentException("Incorrect argument: " + argument);
  28. String placeholder = "${" + keyValue[0] + "}";
  29. if (!message.contains(placeholder))
  30. throw new IllegalArgumentException(keyValue[0] + " does not exists.");
  31. while (message.contains(placeholder))
  32. message = message.replace(placeholder, keyValue[1]);
  33. }
  34.  
  35. return message;
  36. }
  37.  
  38. Properties messages = ...
  39. Map<String, String> m = new HashMap<>();
  40. m.put("name", "Mithu");
  41. m.put("location", "Dhaka");
  42. StrSubstitutor sub = new StrSubstitutor(m);
  43. String msg = sub.replace(messages.getProperty("message.myMessage"));
  44. // msg = This message is for Mithu in Dhaka
Add Comment
Please, Sign In to add comment