Rev 1318 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*Copyright (c) 2004-2006, The Dojo FoundationAll Rights Reserved.Licensed under the Academic Free License version 2.1 or above OR themodified BSD license. For more information on Dojo licensing, see:http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.collections.ArrayList");dojo.require("dojo.collections.Collections");dojo.collections.ArrayList = function (arr) {var items = [];if (arr) {items = items.concat(arr);}this.count = items.length;this.add = function (obj) {items.push(obj);this.count = items.length;};this.addRange = function (a) {if (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 () {items.splice(0, items.length);this.count = 0;};this.clone = function () {return new dojo.collections.ArrayList(items);};this.contains = function (obj) {for (var i = 0; i < items.length; i++) {if (items[i] == obj) {return true;}}return false;};this.forEach = function (fn, scope) {var s = scope || dj_global;if (Array.forEach) {Array.forEach(items, fn, s);} else {for (var i = 0; i < items.length; i++) {fn.call(s, items[i], i, items);}}};this.getIterator = function () {return new dojo.collections.Iterator(items);};this.indexOf = function (obj) {for (var i = 0; i < items.length; i++) {if (items[i] == obj) {return i;}}return -1;};this.insert = function (i, obj) {items.splice(i, 0, obj);this.count = items.length;};this.item = function (i) {return items[i];};this.remove = function (obj) {var i = this.indexOf(obj);if (i >= 0) {items.splice(i, 1);}this.count = items.length;};this.removeAt = function (i) {items.splice(i, 1);this.count = items.length;};this.reverse = function () {items.reverse();};this.sort = function (fn) {if (fn) {items.sort(fn);} else {items.sort();}};this.setByIndex = function (i, obj) {items[i] = obj;this.count = items.length;};this.toArray = function () {return [].concat(items);};this.toString = function (delim) {return items.join((delim || ","));};};