mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-21 18:09:20 +00:00
New build scripts
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5282 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
94
source/web/scripts/ajax/dojo/src/collections/Set.js
Normal file
94
source/web/scripts/ajax/dojo/src/collections/Set.js
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
Copyright (c) 2004-2006, The Dojo Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
Licensed under the Academic Free License version 2.1 or above OR the
|
||||
modified BSD license. For more information on Dojo licensing, see:
|
||||
|
||||
http://dojotoolkit.org/community/licensing.shtml
|
||||
*/
|
||||
|
||||
dojo.provide("dojo.collections.Set");
|
||||
dojo.require("dojo.collections.Collections");
|
||||
dojo.require("dojo.collections.ArrayList");
|
||||
|
||||
dojo.collections.Set = new function(){
|
||||
// summary
|
||||
// Singleton for dealing with common set operations.
|
||||
this.union = function(/* array */setA, /* array */setB){
|
||||
// summary
|
||||
// Return the union of the two passed sets.
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var result = new dojo.collections.ArrayList(setA.toArray());
|
||||
var e = setB.getIterator();
|
||||
while(!e.atEnd()){
|
||||
var item=e.get();
|
||||
if(!result.contains(item)){
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result; // dojo.collections.ArrayList
|
||||
};
|
||||
this.intersection = function(/* array */setA, /* array */setB){
|
||||
// summary
|
||||
// Return the intersection of the two passed sets.
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var result = new dojo.collections.ArrayList();
|
||||
var e = setB.getIterator();
|
||||
while(!e.atEnd()){
|
||||
var item=e.get();
|
||||
if(setA.contains(item)){
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result; // dojo.collections.ArrayList
|
||||
};
|
||||
this.difference = function(/* array */setA, /* array */setB){
|
||||
// summary
|
||||
// Returns everything in setA that is not in setB.
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var result = new dojo.collections.ArrayList();
|
||||
var e=setA.getIterator();
|
||||
while(!e.atEnd()){
|
||||
var item=e.get();
|
||||
if(!setB.contains(item)){
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result; // dojo.collections.ArrayList
|
||||
};
|
||||
this.isSubSet = function(/* array */setA, /* array */setB) {
|
||||
// summary
|
||||
// Returns if set B is a subset of set A.
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var e = setA.getIterator();
|
||||
while(!e.atEnd()){
|
||||
if(!setB.contains(e.get())){
|
||||
return false; // boolean
|
||||
}
|
||||
}
|
||||
return true; // boolean
|
||||
};
|
||||
this.isSuperSet = function(/* array */setA, /* array */setB){
|
||||
// summary
|
||||
// Returns if set B is a superset of set A.
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var e = setB.getIterator();
|
||||
while(!e.atEnd()){
|
||||
if(!setA.contains(e.get())){
|
||||
return false; // boolean
|
||||
}
|
||||
}
|
||||
return true; // boolean
|
||||
};
|
||||
}();
|
Reference in New Issue
Block a user