Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojox.collections.ArrayList"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.collections.ArrayList"] = true;dojo.provide("dojox.collections.ArrayList");dojo.require("dojox.collections._base");dojox.collections.ArrayList=function(/* array? */arr){// summary// Returns a new object of type dojox.collections.ArrayListvar items=[];if(arr) items=items.concat(arr);this.count=items.length;this.add=function(/* object */obj){// summary// Add an element to the collection.items.push(obj);this.count=items.length;};this.addRange=function(/* array */a){// summary// Add a range of objects to the ArrayListif(a.getIterator){var e=a.getIterator();while(!e.atEnd()){this.add(e.get());}this.count=items.length;}else{for(var i=0; i<a.length; i++){items.push(a[i]);}this.count=items.length;}};this.clear=function(){// summary// Clear all elements out of the collection, and reset the count.items.splice(0, items.length);this.count=0;};this.clone=function(){// summary// Clone the array listreturn new dojox.collections.ArrayList(items); // dojox.collections.ArrayList};this.contains=function(/* object */obj){// summary// Check to see if the passed object is a member in the ArrayListfor(var i=0; i < items.length; i++){if(items[i] == obj) {return true; // bool}}return false; // bool};this.forEach=function(/* function */ fn, /* object? */ scope){// summary// functional iterator, following the mozilla spec.dojo.forEach(items, fn, scope);};this.getIterator=function(){// summary// Get an Iterator for this objectreturn new dojox.collections.Iterator(items); // dojox.collections.Iterator};this.indexOf=function(/* object */obj){// summary// Return the numeric index of the passed object; will return -1 if not found.for(var i=0; i < items.length; i++){if(items[i] == obj) {return i; // int}}return -1; // int};this.insert=function(/* int */ i, /* object */ obj){// summary// Insert the passed object at index iitems.splice(i,0,obj);this.count=items.length;};this.item=function(/* int */ i){// summary// return the element at index ireturn items[i]; // object};this.remove=function(/* object */obj){// summary// Look for the passed object, and if found, remove it from the internal array.var i=this.indexOf(obj);if(i >=0) {items.splice(i,1);}this.count=items.length;};this.removeAt=function(/* int */ i){// summary// return an array with function applied to all elementsitems.splice(i,1);this.count=items.length;};this.reverse=function(){// summary// Reverse the internal arrayitems.reverse();};this.sort=function(/* function? */ fn){// summary// sort the internal arrayif(fn){items.sort(fn);}else{items.sort();}};this.setByIndex=function(/* int */ i, /* object */ obj){// summary// Set an element in the array by the passed index.items[i]=obj;this.count=items.length;};this.toArray=function(){// summary// Return a new array with all of the items of the internal array concatenated.return [].concat(items);}this.toString=function(/* string */ delim){// summary// implementation of toString, follows [].toString();return items.join((delim||","));};};}