001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.cli.util;
020
021import java.util.Enumeration;
022import java.util.Iterator;
023import java.util.Map;
024import java.util.Set;
025
026/**
027 * class to make a enumaration from a ser, map or iterator
028 */
029public final class EnumerationWrapper implements Enumeration {
030                
031                private Iterator it;
032
033                /**
034                 * @param map Constructor with a Map
035                 */
036                public EnumerationWrapper(Map map) {
037                        this(map.keySet().iterator());
038                }
039                
040                /**
041                 * @param set Constructor with a Set
042                 */
043                public EnumerationWrapper(Set set) {
044                        this(set.iterator());
045                }
046
047                
048                /**
049                 * @param it Constructor with a iterator
050                 */
051                public EnumerationWrapper(Iterator it) {
052                        this.it=it;
053                }
054                
055
056                /**
057                 * @see java.util.Enumeration#hasMoreElements()
058                 */
059                public boolean hasMoreElements() {
060                        return it.hasNext();
061                }
062
063                /**
064                 * @see java.util.Enumeration#nextElement()
065                 */
066                public Object nextElement() {
067                        return it.next();
068                }
069                
070        }