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