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 java.lang.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 boolean
contains(java.lang.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.V
get(java.lang.String key)
Answers the value associated with the given key.void
put(java.lang.String key, V newValue)
Associates a given value with a given key.void
putAll(java.lang.Iterable<java.lang.String> keys, V newValue)
Associates a given value with a given set of keys.void
remove(java.lang.String key)
If the map contains the given key, dissociates the key from its value.java.util.Map<java.lang.String,V>
toJavaUtilMap()
Gives a Java map representation of this abbreviation map.
-
-
-
Method Detail
-
contains
public boolean contains(java.lang.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:
contains
in interfaceOptionNameMap<V>
- Parameters:
key
- key to look up- Returns:
true
ifkey
is present in the map- Throws:
java.lang.NullPointerException
- ifkey
isnull
-
get
public V get(java.lang.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:
get
in interfaceOptionNameMap<V>
- Parameters:
key
- key to look up- Returns:
- the value associated with
aKey
; ornull
if there is no such value oraKey
is not a unique abbreviation of a key in the map - Throws:
java.lang.NullPointerException
- ifaKey
isnull
-
put
public void put(java.lang.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:
put
in interfaceOptionNameMap<V>
- Parameters:
key
- key to create in the mapnewValue
- value to associate with the key- Throws:
java.lang.NullPointerException
- ifaKey
ornewValue
isnull
java.lang.IllegalArgumentException
- ifaKey
is a zero-length string
-
putAll
public void putAll(java.lang.Iterable<java.lang.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:
putAll
in interfaceOptionNameMap<V>
- Parameters:
keys
- keys to create in the mapnewValue
- value to associate with the key- Throws:
java.lang.NullPointerException
- ifkeys
ornewValue
isnull
java.lang.IllegalArgumentException
- if any ofkeys
is a zero-length string
-
remove
public void remove(java.lang.String key)
If the map contains the given key, dissociates the key from its value.
- Specified by:
remove
in interfaceOptionNameMap<V>
- Parameters:
key
- key to remove- Throws:
java.lang.NullPointerException
- ifaKey
isnull
java.lang.IllegalArgumentException
- ifaKey
is a zero-length string
-
toJavaUtilMap
public java.util.Map<java.lang.String,V> toJavaUtilMap()
Gives a Java map representation of this abbreviation map.- Specified by:
toJavaUtilMap
in interfaceOptionNameMap<V>
- Returns:
- a Java map corresponding to this abbreviation map
-
-