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); })(); }