001    package railo.runtime.type;
002    
003    import java.util.Iterator;
004    import java.util.Map.Entry;
005    
006    import railo.runtime.type.Collection.Key;
007    
008    /**
009     * interface that define that in a class a iterator is available
010     */
011    public interface Iteratorable {
012    
013        /**
014         * @return return a Iterator for Keys as Collection.Keys
015         */
016        public Iterator<Collection.Key> keyIterator();
017        
018        /**
019         * @return return a Iterator for Keys as String
020         */
021        public Iterator<String> keysAsStringIterator();
022        
023        /**
024         *
025         * @return return a Iterator for Values
026         */
027        public Iterator<Object> valueIterator();
028        
029    
030        public Iterator<Entry<Key, Object>> entryIterator();
031    }