summaryrefslogtreecommitdiffstats
path: root/dcaedt_validator/kwalify/src/main/java/kwalify/Messages.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcaedt_validator/kwalify/src/main/java/kwalify/Messages.java')
-rw-r--r--dcaedt_validator/kwalify/src/main/java/kwalify/Messages.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/dcaedt_validator/kwalify/src/main/java/kwalify/Messages.java b/dcaedt_validator/kwalify/src/main/java/kwalify/Messages.java
new file mode 100644
index 0000000..b77f04b
--- /dev/null
+++ b/dcaedt_validator/kwalify/src/main/java/kwalify/Messages.java
@@ -0,0 +1,51 @@
+/*
+ * @(#)Messages.java $Rev: 4 $ $Release: 0.5.1 $
+ *
+ * copyright(c) 2005 kuwata-lab all rights reserved.
+ */
+
+package kwalify;
+
+import java.util.ResourceBundle;
+//import java.util.Locale;
+
+/**
+ * set of utility methods around messages.
+ *
+ * @revision $Rev: 4 $
+ * @release $Release: 0.5.1 $
+ */
+public class Messages {
+
+ private static final String __basename = "kwalify.messages";
+ private static ResourceBundle __messages = ResourceBundle.getBundle(__basename);
+ //private static ResourceBundle __messages = ResourceBundle.getBundle(__basename, Locale.getDefault());
+
+ public static String message(String key) {
+ return __messages.getString(key);
+ }
+
+ public static String buildMessage(String key, Object[] args) {
+ return buildMessage(key, null, args);
+ }
+
+ public static String buildMessage(String key, Object value, Object[] args) {
+ String msg = message(key);
+ assert msg != null;
+ if (args != null) {
+ for (int i = 0; i < args.length; i++) { // don't use MessageFormat
+ msg = msg.replaceFirst("%[sd]", escape(args[i]));
+ }
+ }
+ if (value != null && !Types.isCollection(value)) {
+ msg = "'" + escape(value) + "': " + msg;
+ }
+ return msg;
+ }
+
+ private static String escape(Object obj) {
+ //return obj.toString().replaceAll("\\", "\\\\").replace("\n", "\\n"); // J2SK1.4 doesn't support String#replace(CharSequence, CharSequence)!
+ return obj.toString().replaceAll("\\\\", "\\\\\\\\").replaceAll("\\n", "\\\\n");
+ }
+
+}