blob: 3f3907ec36e10361f390bfb9f1428518dff4a1d4 [file] [log] [blame]
/*
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package elemental.util;
/**
* A lightweight map from {@link String} to any object type.
*
* @param <V>
*
* @see elemental.js.util.JsMapFromStringTo
*/
public interface MapFromStringTo<V> {
/**
* Retrieves a value for the specified key.
*/
V get(String key);
/**
* Indicates whether the map contains a value for the specified key.
*/
boolean hasKey(String key);
/**
* The keys contained within this map.
*
* This copies the keys into a new array.
*/
ArrayOfString keys();
/**
* Associates a value to the specified key.
*/
void put(String key, V value);
/**
* Removes the value associated with the specified value, if one exists.
*/
void remove(String key);
/**
* The values contained in this map.
*
* This copies the values into a new array.
*/
ArrayOf<V> values();
}