New file |
0,0 → 1,101 |
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); |
})(); |
|
} |