gnu.trove.decorator

## Class TShortLongHashMapDecorator

- java.lang.Object
- - java.util.AbstractMap<java.lang.Short,java.lang.Long>
  - - gnu.trove.decorator.TShortLongHashMapDecorator

All Implemented Interfaces:
  java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Short,java.lang.Long>

    public class TShortLongHashMapDecorator
    extends java.util.AbstractMap<java.lang.Short,java.lang.Long>
    implements java.util.Map<java.lang.Short,java.lang.Long>, java.io.Externalizable, java.lang.Cloneable

Wrapper class to make a TShortLongHashMap conform to the `java.util.Map` API. This class simply decorates an underlying TShortLongHashMap and translates the Object-based APIs into their Trove primitive analogs.

Note that wrapping and unwrapping primitive values is extremely inefficient. If possible, users of this class should override the appropriate methods in this class and use a table of canonical values.

Created: Mon Sep 23 22:07:40 PDT 2002

Author:
  Eric D. Friedman, Rob Eden
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.util.AbstractMap

`java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>`

### Nested classes/interfaces inherited from interface java.util.Map

`java.util.Map.Entry<K,V>`

### Field Summary

Fields
`protected TShortLongHashMap` `_map` the wrapped primitive map

### Constructor Summary

Constructors
Constructor and Description
`TShortLongHashMapDecorator()` FOR EXTERNALIZATION ONLY!!
`TShortLongHashMapDecorator(TShortLongHashMap map)` Creates a wrapper that decorates the specified primitive map.

### Method Summary

Methods
`void` `clear()` Empties the map.
`TShortLongHashMapDecorator` `clone()` Clones the underlying trove collection and returns the clone wrapped in a new decorator instance.
`boolean` `containsKey(java.lang.Object key)` Checks for the present of `key` in the keys of the map.
`boolean` `containsValue(java.lang.Object val)` Checks for the presence of `val` in the values of the map.
`java.util.Set<java.util.Map.Entry<java.lang.Short,java.lang.Long>>` `entrySet()` Returns a Set view on the entries of the map.
`java.lang.Long` `get(java.lang.Short key)` Retrieves the value for `key`
`TShortLongHashMap` `getMap()` Returns a reference to the map wrapped by this decorator.
`boolean` `isEmpty()` Indicates whether map has any entries.
`java.lang.Long` `put(java.lang.Short key, java.lang.Long value)` Inserts a key/value pair into the map.
`void` `putAll(java.util.Map<? extends java.lang.Short,? extends java.lang.Long> map)` Copies the key/value mappings in `map` into this map.
`void` `readExternal(java.io.ObjectInput in)`
`java.lang.Long` `remove(java.lang.Short key)` Deletes a key/value pair from the map.
`int` `size()` Returns the number of entries in the map.
`protected short` `unwrapKey(java.lang.Object key)` Unwraps a key
`protected long` `unwrapValue(java.lang.Object value)` Unwraps a value
`protected java.lang.Short` `wrapKey(short k)` Wraps a key
`protected java.lang.Long` `wrapValue(long k)` Wraps a value
`void` `writeExternal(java.io.ObjectOutput out)`

### Methods inherited from class java.util.AbstractMap

`equals, get, hashCode, keySet, remove, toString, values`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`equals, get, hashCode, keySet, remove, values`

### Field Detail

#### _map

    protected TShortLongHashMap _map

the wrapped primitive map

### Constructor Detail

#### TShortLongHashMapDecorator

    public TShortLongHashMapDecorator()

FOR EXTERNALIZATION ONLY!!

#### TShortLongHashMapDecorator

    public TShortLongHashMapDecorator(TShortLongHashMap map)

Creates a wrapper that decorates the specified primitive map.

### Method Detail

#### getMap

    public TShortLongHashMap getMap()

Returns a reference to the map wrapped by this decorator.

#### clone

    public TShortLongHashMapDecorator clone()

Clones the underlying trove collection and returns the clone wrapped in a new decorator instance. This is a shallow clone except where primitives are concerned.

Overrides:
  `clone` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Returns:
  a copy of the receiver

#### put

    public java.lang.Long put(java.lang.Short key,
                     java.lang.Long value)

Inserts a key/value pair into the map.

Specified by:
  `put` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `put` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Parameters:
  `key` - an `Object` value
  `value` - an `Object` value
Returns:
  the previous value associated with `key`, or Long(0) if none was found.

#### get

    public java.lang.Long get(java.lang.Short key)

Retrieves the value for `key`

Parameters:
  `key` - an `Object` value
Returns:
  the value of `key` or null if no such mapping exists.

#### clear

    public void clear()

Empties the map.

Specified by:
  `clear` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `clear` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`

#### remove

    public java.lang.Long remove(java.lang.Short key)

Deletes a key/value pair from the map.

Parameters:
  `key` - an `Object` value
Returns:
  the removed value, or Long(0) if it was not found in the map

#### entrySet

    public java.util.Set<java.util.Map.Entry<java.lang.Short,java.lang.Long>> entrySet()

Returns a Set view on the entries of the map.

Specified by:
  `entrySet` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Specified by:
  `entrySet` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Returns:
  a `Set` value

#### containsValue

    public boolean containsValue(java.lang.Object val)

Checks for the presence of `val` in the values of the map.

Specified by:
  `containsValue` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `containsValue` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Parameters:
  `val` - an `Object` value
Returns:
  a `boolean` value

#### containsKey

    public boolean containsKey(java.lang.Object key)

Checks for the present of `key` in the keys of the map.

Specified by:
  `containsKey` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `containsKey` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Parameters:
  `key` - an `Object` value
Returns:
  a `boolean` value

#### size

    public int size()

Returns the number of entries in the map.

Specified by:
  `size` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `size` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Returns:
  the map's size.

#### isEmpty

    public boolean isEmpty()

Indicates whether map has any entries.

Specified by:
  `isEmpty` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `isEmpty` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Returns:
  true if the map is empty

#### putAll

    public void putAll(java.util.Map<? extends java.lang.Short,? extends java.lang.Long> map)

Copies the key/value mappings in `map` into this map. Note that this will be a deep copy, as storage is by primitive value.

Specified by:
  `putAll` in interface `java.util.Map<java.lang.Short,java.lang.Long>`
Overrides:
  `putAll` in class `java.util.AbstractMap<java.lang.Short,java.lang.Long>`
Parameters:
  `map` - a `Map` value

#### wrapKey

    protected java.lang.Short wrapKey(short k)

Wraps a key

Parameters:
  `k` - key in the underlying map
Returns:
  an Object representation of the key

#### unwrapKey

    protected short unwrapKey(java.lang.Object key)

Unwraps a key

Parameters:
  `key` - wrapped key
Returns:
  an unwrapped representation of the key

#### wrapValue

    protected java.lang.Long wrapValue(long k)

Wraps a value

Parameters:
  `k` - value in the underlying map
Returns:
  an Object representation of the value

#### unwrapValue

    protected long unwrapValue(java.lang.Object value)

Unwraps a value

Parameters:
  `value` - wrapped value
Returns:
  an unwrapped representation of the value

#### readExternal

    public void readExternal(java.io.ObjectInput in)
                      throws java.io.IOException,
                             java.lang.ClassNotFoundException

Specified by:
  `readExternal` in interface `java.io.Externalizable`
Throws:
  `java.io.IOException`
  `java.lang.ClassNotFoundException`

#### writeExternal

    public void writeExternal(java.io.ObjectOutput out)
                       throws java.io.IOException

Specified by:
  `writeExternal` in interface `java.io.Externalizable`
Throws:
  `java.io.IOException`