001    package railo.runtime.type.util;
002    
003    import java.util.Iterator;
004    
005    import railo.runtime.op.Operator;
006    import railo.runtime.type.Collection;
007    import railo.runtime.type.Collection.Key;
008    
009    public class CollectionUtil {
010    
011            private static final Object NULL = new Object();
012    
013            
014            public static boolean equals(Collection left, Collection right) {
015                    if(left.size()!=right.size()) return false;
016                    
017                    Key[] keys = left.keys();
018                    Object l,r;
019                    for(int i=0;i<keys.length;i++){
020                            r=right.get(keys[i],NULL);
021                            if(r==NULL) return false;
022                            l=left.get(keys[i],NULL);
023                            if(!Operator.equalsEL(r, l, false, true)) return false;
024                    }
025                    return true;
026            }
027            
028            public static Iterator toIterator(Collection c){
029                    return c.iterator();
030            }
031    
032    }