1 // GenericsNote: Converted. 2 /* 3 * Copyright 2003-2004 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.jivesoftware.smack.util.collections; 18 19 import java.util.Map; 20 21 /** 22 * Defines a map that can be iterated directly without needing to create an entry set. 23 * <p/> 24 * A map iterator is an efficient way of iterating over maps. 25 * There is no need to access the entry set or cast to Map Entry objects. 26 * <pre> 27 * IterableMap map = new HashedMap(); 28 * MapIterator it = map.mapIterator(); 29 * while (it.hasNext()) { 30 * Object key = it.next(); 31 * Object value = it.getValue(); 32 * it.setValue("newValue"); 33 * } 34 * </pre> 35 * 36 * @author Matt Hall, John Watkinson, Stephen Colebourne 37 * @version $Revision: 1.1 $ $Date: 2005/10/11 17:05:19 $ 38 * @since Commons Collections 3.0 39 */ 40 public interface IterableMap <K,V> extends Map<K, V> { 41 42 /** 43 * Obtains a <code>MapIterator</code> over the map. 44 * <p/> 45 * A map iterator is an efficient way of iterating over maps. 46 * There is no need to access the entry set or cast to Map Entry objects. 47 * <pre> 48 * IterableMap map = new HashedMap(); 49 * MapIterator it = map.mapIterator(); 50 * while (it.hasNext()) { 51 * Object key = it.next(); 52 * Object value = it.getValue(); 53 * it.setValue("newValue"); 54 * } 55 * </pre> 56 * 57 * @return a map iterator 58 */ 59 MapIterator<K, V> mapIterator(); 60 61 } 62