Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.

1 /*******************************************************************************2 * Copyright (c) 2000, 2005 IBM Corporation and others.3 * All rights reserved. This program and the accompanying materials4 * are made available under the terms of the Eclipse Public License v1.05 * which accompanies this distribution, and is available at6 * http://www.eclipse.org/legal/epl-v10.html7 *8 * Contributors:9 * IBM Corporation - initial API and implementation10 *******************************************************************************/11 package org.eclipse.jface.text.source;12 13 14 importjava.util.Collection;15 importjava.util.Iterator;16 importjava.util.Map;17 importjava.util.Set;18 19 importorg.eclipse.jface.text.ISynchronizable;20 21 22 /**23 * An annotation map is a map specialized for the requirements of an annotation24 * model. The annotation map supports a customizable lock object which is used25 * to synchronize concurrent operations on the map (see26 * {@link org.eclipse.jface.text.ISynchronizable}. The map supports two27 * iterator methods, one for the values and one for the keys of the map. The28 * returned iterators are robust, i.e. they work on a copy of the values and29 * keys set that is made at the point in time the iterator methods are called.30 * <p>31 * The returned collections of the methods <code>values</code>,32 * <code>entrySet</code>, and <code>keySet</code> are not synchronized on33 * the annotation map's lock object.34 * <p>35 *36 * @see org.eclipse.jface.text.source.IAnnotationModel37 * @since 3.038 */39 publicinterface IAnnotationMap extendsMap, ISynchronizable {40 41 /**42 * Returns an iterator for a copy of this annotation map's values.43 *44 * @return an iterator for a copy of this map's values45 */46 Iterator valuesIterator();47 48 /**49 * Returns an iterator for a copy of this map's key set.50 *51 * @return an iterator for a copy of this map's key set52 */53 Iterator keySetIterator();54 55 /**56 * {@inheritDoc}57 *58 * The returned set is not synchronized on this annotation map's lock object.59 */60 Set entrySet();61 62 /**63 * {@inheritDoc}64 *65 * The returned set is not synchronized on this annotation map's lock object.66 */67 Set keySet();68 69 /**70 * {@inheritDoc}71 *72 * The returned collection is not synchronized on this annotation map's lock object.73 */74 Collection values();75 }76