--- /dev/null
+#ifndef _JDISP_STRINGUTILS_JSH\r
+#define _JDISP_STRINGUTILS_JSH\r
+\r
+OOP_CLASS(StringUtils) = function() {};\r
+\r
+OOP_METHOD(StringUtils, formatTuple) = function ()\r
+{\r
+ var i;\r
+ var lp = new jdisp.text.ListPrinter('(', ',', ')');\r
+ // Note that arguments is a local variable and that it is not an array.\r
+ for (i=0; i<arguments.length; i++)\r
+ lp.append(arguments[i]);\r
+ return lp.toString();\r
+};\r
+\r
+\r
+OOP_METHOD(StringUtils, formatPoint) = function (point)\r
+{\r
+ if (IS_NON_NULL_OBJECT(point)) {\r
+ return this.formatTuple(point.x, point.y);\r
+ } else {\r
+ return "(invalid-point)";\r
+ }\r
+};\r
+\r
+OOP_METHOD(StringUtils, formatDimension) = function (size)\r
+{\r
+ if (IS_NON_NULL_OBJECT(size)) {\r
+ return this.formatTuple(size.width, size.height);\r
+ } else {\r
+ return "(invalid-dimension)";\r
+ }\r
+};\r
+\r
+OOP_METHOD(StringUtils, camelize) = function (str)\r
+{\r
+ var out = str;\r
+ if (/-/.exec(str)) {\r
+ var ns = str.split('-');\r
+ out = '';\r
+ for (i=0; i<ns.length; i++) {\r
+ if (/^([a-zA-Z])(.*)$/.exec(ns[i])) {\r
+ out += RegExp.$1.toUpperCase() + RegExp.$2;\r
+ }\r
+ }\r
+ }\r
+ return out;\r
+}\r
+\r
+#endif /* _JDISP_STRINGUTILS_JSH */\r