Class AbbreviationMap<V>
- java.lang.Object
-
- joptsimple.internal.AbbreviationMap<V>
-
- Type Parameters:
V- a constraint on the types of the values in the map
- All Implemented Interfaces:
OptionNameMap<V>
public class AbbreviationMap<V> extends Object implements OptionNameMap<V>
A map whose keys are strings; when a key/value pair is added to the map, the longest unique abbreviations of that key are added as well, and associated with the value. Thus:
abbreviations.put( "good", "bye" );would make it such that you could retrieve the value
"bye"from the map using the keys"good","goo","go", and"g". A subsequent invocation of:abbreviations.put( "go", "fish" );would make it such that you could retrieve the value
"bye"using the keys"good"and"goo", and the value"fish"using the key"go". The key"g"would yieldnull, since it would no longer be a unique abbreviation.The data structure is much like a "trie".
- Author:
- Paul Holser
- See Also:
- Perl's Text::Abbrev module, Radix tree
-
-
Constructor Summary
Constructors Constructor Description AbbreviationMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(String key)Tells whether the given key is in the map, or whether the given key is a unique abbreviation of a key that is in the map.Vget(String key)Answers the value associated with the given key.voidput(String key, V newValue)Associates a given value with a given key.voidputAll(Iterable<String> keys, V newValue)Associates a given value with a given set of keys.voidremove(String key)If the map contains the given key, dissociates the key from its value.Map<String,V>toJavaUtilMap()Gives a Java map representation of this abbreviation map.
-
-
-
Method Detail
-
contains
public boolean contains(String key)
Tells whether the given key is in the map, or whether the given key is a unique abbreviation of a key that is in the map.
- Specified by:
containsin interfaceOptionNameMap<V>- Parameters:
key- key to look up- Returns:
trueifkeyis present in the map- Throws:
NullPointerException- ifkeyisnull
-
get
public V get(String key)
Answers the value associated with the given key. The key can be a unique abbreviation of a key that is in the map.
- Specified by:
getin interfaceOptionNameMap<V>- Parameters:
key- key to look up- Returns:
- the value associated with
aKey; ornullif there is no such value oraKeyis not a unique abbreviation of a key in the map - Throws:
NullPointerException- ifaKeyisnull
-
put
public void put(String key, V newValue)
Associates a given value with a given key. If there was a previous association, the old value is replaced with the new one.
- Specified by:
putin interfaceOptionNameMap<V>- Parameters:
key- key to create in the mapnewValue- value to associate with the key- Throws:
NullPointerException- ifaKeyornewValueisnullIllegalArgumentException- ifaKeyis a zero-length string
-
putAll
public void putAll(Iterable<String> keys, V newValue)
Associates a given value with a given set of keys. If there was a previous association, the old value is replaced with the new one.
- Specified by:
putAllin interfaceOptionNameMap<V>- Parameters:
keys- keys to create in the mapnewValue- value to associate with the key- Throws:
NullPointerException- ifkeysornewValueisnullIllegalArgumentException- if any ofkeysis a zero-length string
-
remove
public void remove(String key)
If the map contains the given key, dissociates the key from its value.
- Specified by:
removein interfaceOptionNameMap<V>- Parameters:
key- key to remove- Throws:
NullPointerException- ifaKeyisnullIllegalArgumentException- ifaKeyis a zero-length string
-
toJavaUtilMap
public Map<String,V> toJavaUtilMap()
Gives a Java map representation of this abbreviation map.- Specified by:
toJavaUtilMapin interfaceOptionNameMap<V>- Returns:
- a Java map corresponding to this abbreviation map
-
-