org.flexdock.util

## Class TypedHashtable

- java.lang.Object
- - java.util.Dictionary<K,V>
  - - java.util.Hashtable
    - - org.flexdock.util.TypedHashtable

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map
  Direct Known Subclasses:
    BasicDockablePropertySet, BasicDockingPortPropertySet

      public class TypedHashtable
      extends java.util.Hashtable

  Author:
    Christopher Butler
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypedHashtable()` Constructs a new, empty `TypedHashtable` with a default initial capacity (11) and load factor of `0.75`.
    `TypedHashtable(int initialCapacity)` Constructs a new, empty `TypedHashtable` with the specified initial capacity and default load factor of `0.75`.
    `TypedHashtable(int initialCapacity, float loadFactor)` Constructs a new, empty `TypedHashtable` with the specified initial capacity and the specified load factor.
    `TypedHashtable(java.util.Map t)` Constructs a new `TypedHashtable` with the same mappings as the given Map.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `get(java.lang.Object key, boolean defaultValue)` Returns the boolean value associated with the specified `key` in this hashtable.
    `byte` | `get(java.lang.Object key, byte defaultValue)` Returns the byte value associated with the specified `key` in this hashtable.
    `char` | `get(java.lang.Object key, char defaultValue)` Returns the char value associated with the specified `key` in this hashtable.
    `double` | `get(java.lang.Object key, double defaultValue)` Returns the double value associated with the specified `key` in this hashtable.
    `float` | `get(java.lang.Object key, float defaultValue)` Returns the float value associated with the specified `key` in this hashtable.
    `int` | `get(java.lang.Object key, int defaultValue)` Returns the int value associated with the specified `key` in this hashtable.
    `long` | `get(java.lang.Object key, long defaultValue)` Returns the long value associated with the specified `key` in this hashtable.
    `short` | `get(java.lang.Object key, short defaultValue)` Returns the short value associated with the specified `key` in this hashtable.
    `java.lang.Boolean` | `getBoolean(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Boolean` before returning.
    `java.lang.Byte` | `getByte(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Byte` before returning.
    `java.lang.Character` | `getChar(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Character` before returning.
    `java.lang.Double` | `getDouble(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Double` before returning.
    `java.lang.Float` | `getFloat(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Float` before returning.
    `java.lang.Integer` | `getInt(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Integer` before returning.
    `java.lang.Long` | `getLong(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Long` before returning.
    `java.lang.Short` | `getShort(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Short` before returning.
    `java.lang.String` | `getString(java.lang.Object key)` Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.String` before returning.
    `void` | `put(java.lang.Object key, boolean value)` Maps the specified `key` to the specified boolean `value` in this hashtable.
    `void` | `put(java.lang.Object key, byte value)` Maps the specified `key` to the specified byte `value` in this hashtable.
    `void` | `put(java.lang.Object key, char value)` Maps the specified `key` to the specified char `value` in this hashtable.
    `void` | `put(java.lang.Object key, double value)` Maps the specified `key` to the specified double `value` in this hashtable.
    `void` | `put(java.lang.Object key, float value)` Maps the specified `key` to the specified float `value` in this hashtable.
    `void` | `put(java.lang.Object key, int value)` Maps the specified `key` to the specified int `value` in this hashtable.
    `void` | `put(java.lang.Object key, long value)` Maps the specified `key` to the specified long `value` in this hashtable.
    `java.lang.Object` | `put(java.lang.Object key, java.lang.Object value)` Maps the specified `key` to the specified `value` in this hashtable.
    `void` | `put(java.lang.Object key, short value)` Maps the specified `key` to the specified short `value` in this hashtable.

    - ### Methods inherited from class java.util.Hashtable

      `clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, putAll, rehash, remove, size, toString, values`

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

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

- - ### Constructor Detail

    - #### TypedHashtable

          public TypedHashtable()

      Constructs a new, empty `TypedHashtable` with a default initial capacity (11) and load factor of `0.75`.

    - #### TypedHashtable

          public TypedHashtable(int initialCapacity)

      Constructs a new, empty `TypedHashtable` with the specified initial capacity and default load factor of `0.75`.
      Parameters:
        `initialCapacity` - the initial capacity of the hashtable.
      Throws:
        `java.lang.IllegalArgumentException` - if the initial capacity is less than zero.

    - #### TypedHashtable

          public TypedHashtable(int initialCapacity,
                        float loadFactor)

      Constructs a new, empty `TypedHashtable` with the specified initial capacity and the specified load factor.
      Parameters:
        `initialCapacity` - the initial capacity of the hashtable.
        `loadFactor` - the load factor of the hashtable.
      Throws:
        `java.lang.IllegalArgumentException` - if the initial capacity is less than zero, or if the load factor is nonpositive.

    - #### TypedHashtable

          public TypedHashtable(java.util.Map t)

      Constructs a new `TypedHashtable` with the same mappings as the given Map. The hashtable is created with an initial capacity sufficient to hold the mappings in the given Map and a default load factor of `0.75`.
      Parameters:
        `t` - the map whose mappings are to be placed in this map.
      Throws:
        `java.lang.NullPointerException` - if the specified map is null.

  - ### Method Detail

    - #### put

          public void put(java.lang.Object key,
                 boolean value)

      Maps the specified `key` to the specified boolean `value` in this hashtable. Since hashtables require `Object` values, this method will put either `Boolean.TRUE` or `Boolean.FALSE` in the hashtable. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the boolean value to be mapped to the specified `key`.
      See Also:
        `Boolean.TRUE`, `Boolean.FALSE`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 byte value)

      Maps the specified `key` to the specified byte `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified byte in a `java.lang.Byte` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the byte value to be mapped to the specified `key`.
      See Also:
        `Byte.Byte(byte)`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 short value)

      Maps the specified `key` to the specified short `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified short in a `java.lang.Short` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the short value to be mapped to the specified `key`.
      See Also:
        `Short.Short(short)`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 int value)

      Maps the specified `key` to the specified int `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified int in a `java.lang.Integer` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the int value to be mapped to the specified `key`.
      See Also:
        `Integer.Integer(int)`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 long value)

      Maps the specified `key` to the specified long `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified long in a `java.lang.Long` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the long value to be mapped to the specified `key`.
      See Also:
        `Long.Long(long)`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 float value)

      Maps the specified `key` to the specified float `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified float in a `java.lang.Float` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the float value to be mapped to the specified `key`.
      See Also:
        `Float.Float(float)`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 double value)

      Maps the specified `key` to the specified double `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified double in a `java.lang.Double` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the double value to be mapped to the specified `key`.
      See Also:
        `Double.Double(double)`, `put(Object, Object)`

    - #### put

          public void put(java.lang.Object key,
                 char value)

      Maps the specified `key` to the specified char `value` in this hashtable. Since hashtables require `Object` values, this method will wrap the specified char in a `java.lang.Character` before inserting. If `key` is `null` then this method returns with no action taken.
      Parameters:
        `key` - the hashtable key.
        `value` - the char value to be mapped to the specified `key`.
      See Also:
        `Character.Character(char)`, `put(Object, Object)`

    - #### put

          public java.lang.Object put(java.lang.Object key,
                             java.lang.Object value)

      Maps the specified `key` to the specified `value` in this hashtable. If the `key` is `null`, then this method returns with no action taken. If the `value` is `null`, then this method removes any existing mapping in the hashtable for the specified `key` by calling `remove(Object key)`. The value can be retrieved by calling the `get(Object key)` method with a key that is equal to the original key.
      Specified by:
        `put` in interface `java.util.Map`
      Overrides:
        `put` in class `java.util.Hashtable`
      Parameters:
        `key` - the hashtable key.
        `value` - the value.
      See Also:
        `Object.equals(Object)`, `Hashtable.get(Object)`, `Hashtable.remove(java.lang.Object)`

    - #### get

          public boolean get(java.lang.Object key,
                    boolean defaultValue)

      Returns the boolean value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Boolean` and invoke its `booleanValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Boolean` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid boolean cannot be found for the specified key
      Returns:
        the boolean value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, boolean)`, `getBoolean(Object)`, `Boolean.booleanValue()`

    - #### get

          public byte get(java.lang.Object key,
                 byte defaultValue)

      Returns the byte value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Byte` and invoke its `byteValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Byte` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid byte cannot be found for the specified key
      Returns:
        the byte value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, byte)`, `getByte(Object)`, `Byte.byteValue()`

    - #### get

          public short get(java.lang.Object key,
                  short defaultValue)

      Returns the short value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Short` and invoke its `shortValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Short` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid short cannot be found for the specified key
      Returns:
        the short value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, short)`, `getShort(Object)`, `Short.shortValue()`

    - #### get

          public int get(java.lang.Object key,
                int defaultValue)

      Returns the int value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Integer` and invoke its `intValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Integer` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid int cannot be found for the specified key
      Returns:
        the int value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, int)`, `getInt(Object)`, `Integer.intValue()`

    - #### get

          public long get(java.lang.Object key,
                 long defaultValue)

      Returns the long value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Long` and invoke its `longValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Long` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid long cannot be found for the specified key
      Returns:
        the long value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, long)`, `getLong(Object)`, `Long.longValue()`

    - #### get

          public float get(java.lang.Object key,
                  float defaultValue)

      Returns the float value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Float` and invoke its `floatValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Float` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid float cannot be found for the specified key
      Returns:
        the float value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, float)`, `getFloat(Object)`, `Float.floatValue()`

    - #### get

          public double get(java.lang.Object key,
                   double defaultValue)

      Returns the double value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Double` and invoke its `doubleValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Double` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid double cannot be found for the specified key
      Returns:
        the double value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, double)`, `getDouble(Object)`, `Double.doubleValue()`

    - #### get

          public char get(java.lang.Object key,
                 char defaultValue)

      Returns the char value associated with the specified `key` in this hashtable. This method attempts to cast the value in this hashtable for the specified `key` to a `java.lang.Character` and invoke its `charValue()` method. If the key does not exist in the hashtable, or it maps to a non-`Character` value, then this method returns the specified `defaultValue`.
      Parameters:
        `key` - the hashtable key
        `defaultValue` - the value to return if a valid char cannot be found for the specified key
      Returns:
        the char value associated with the specified `key` in this hashtable.
      See Also:
        `put(Object, char)`, `getChar(Object)`, `Character.charValue()`

    - #### getString

          public java.lang.String getString(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.String` before returning. If the specified `key` maps to an object type other than a `String` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `String` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `String`
      See Also:
        `put(Object, Object)`

    - #### getBoolean

          public java.lang.Boolean getBoolean(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Boolean` before returning. If the specified `key` maps to an object type other than a `Boolean` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Boolean` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Boolean`
      See Also:
        `put(Object, Object)`

    - #### getByte

          public java.lang.Byte getByte(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Byte` before returning. If the specified `key` maps to an object type other than a `Byte` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Byte` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Byte`
      See Also:
        `put(Object, Object)`

    - #### getShort

          public java.lang.Short getShort(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Short` before returning. If the specified `key` maps to an object type other than a `Short` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Short` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Short`
      See Also:
        `put(Object, Object)`

    - #### getInt

          public java.lang.Integer getInt(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Integer` before returning. If the specified `key` maps to an object type other than a `Integer` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Integer` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Integer`
      See Also:
        `put(Object, Object)`

    - #### getLong

          public java.lang.Long getLong(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Long` before returning. If the specified `key` maps to an object type other than a `Long` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Long` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Long`
      See Also:
        `put(Object, Object)`

    - #### getFloat

          public java.lang.Float getFloat(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Float` before returning. If the specified `key` maps to an object type other than a `Float` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Float` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Float`
      See Also:
        `put(Object, Object)`

    - #### getDouble

          public java.lang.Double getDouble(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Double` before returning. If the specified `key` maps to an object type other than a `Double` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Double` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Double`
      See Also:
        `put(Object, Object)`

    - #### getChar

          public java.lang.Character getChar(java.lang.Object key)

      Retrieves the value to which the specified key is mapped in this hashtable and casts to a `java.lang.Character` before returning. If the specified `key` maps to an object type other than a `Character` value, then this method throws a `ClassCastException`.
      Parameters:
        `key` - a key in the hashtable.
      Returns:
        the `Character` value to which the key is mapped in this hashtable; `null` if the key is not mapped to any value in this hashtable.
      Throws:
        `java.lang.NullPointerException` - if the key is `null`.
        `java.lang.ClassCastException` - if the returns value is not a `Character`
      See Also:
        `put(Object, Object)`