if (!dojo._hasResource["dojox.string.Builder"]) { // _hasResource checks added // by build. Do not use // _hasResource directly in // your code. dojo._hasResource["dojox.string.Builder"] = true; dojo.provide("dojox.string.Builder"); (function() { dojox.string.Builder = function(/* String? */str) { // summary: // A fast buffer for creating large strings // str: The initial string to seed the buffer with this.b = dojo.isIE ? [] : ""; if (str) { this.append(str); } }; var m = { append : function(/* String */s) { // summary: Append all arguments to the end of the buffer return this.appendArray(dojo._toArray(arguments)); // dojox.string.Builder }, concat : function(/* String */s) { return this.append(s); }, appendArray : function(/* Array */strings) { this.b = String.prototype.concat.apply(this.b, strings); return this; }, clear : function() { // summary: Remove all characters from the buffer this._clear(); this.length = 0; return this; }, replace : function(oldStr, newStr) { // summary: Replace instances of one string with another in the // buffer var s = this.toString(); s = s.replace(oldStr, newStr); this._reset(s); this.length = s.length; return this; }, remove : function(start, len) { // summary: Remove len characters starting at index start if (len == 0) { return this; } var s = this.toString(); this.clear(); if (start > 0) { this.append(s.substring(0, start)); } if (start + len < s.length) { this.append(s.substring(start + len)); } return this; }, insert : function(index, str) { // summary: Insert string str starting at index var s = this.toString(); this.clear(); if (index == 0) { this.append(str); this.append(s); return this; } else { this.append(s.substring(0, index)); this.append(str); this.append(s.substring(index)); } return this; }, toString : function() { return this.b; }, _clear : function() { this.b = ""; }, _reset : function(s) { this.b = s; } }; // will hold methods for Builder if (dojo.isIE) { dojo.mixin(m, { toString : function() { // Summary: Get the buffer as a string return this.b.join(""); }, appendArray : function(strings) { this.b = this.b.concat(strings); return this; }, _clear : function() { this.b = []; }, _reset : function(s) { this.b = [s]; } }); } dojo.extend(dojox.string.Builder, m); })(); }