org.codehaus.plexus.component.collections

## Class ComponentMap<T>

- java.lang.Object
- - org.codehaus.plexus.component.collections.AbstractComponentCollection<T>
  - - org.codehaus.plexus.component.collections.ComponentMap<T>

All Implemented Interfaces:
  java.util.Map<java.lang.String,T>

    public class ComponentMap<T>
    extends AbstractComponentCollection<T>
    implements java.util.Map<java.lang.String,T>

Author:
  Jason van Zyl FIXME: [jdcasey] We need to review the efficiency (in speed and memory) of this collection...

### Nested Class Summary

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

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

### Field Summary

### Fields inherited from class org.codehaus.plexus.component.collections.AbstractComponentCollection

`componentType, container, hostComponent, logger, role, roleHints`

### Constructor Summary

Constructors
Constructor and Description
`ComponentMap(MutablePlexusContainer container, java.lang.Class<T> type, java.lang.String role, java.util.List<java.lang.String> roleHints, java.lang.String hostComponent)`

### Method Summary

Methods
`protected boolean` `checkUpdate()`
`boolean` `containsKey(java.lang.Object key)`
`boolean` `containsValue(java.lang.Object value)`
`java.util.Set<java.util.Map.Entry<java.lang.String,T>>` `entrySet()`
`boolean` `equals(java.lang.Object o)`
`T` `get(java.lang.Object k)`
`int` `hashCode()`
`boolean` `isEmpty()`
`java.util.Set<java.lang.String>` `keySet()`
`T` `put(java.lang.String key, T value)`
`void` `putAll(java.util.Map<? extends java.lang.String,? extends T> map)`
`protected void` `releaseAllCallback()`
`T` `remove(java.lang.Object key)`
`int` `size()`
`java.util.Collection<T>` `values()`

### Methods inherited from class org.codehaus.plexus.component.collections.AbstractComponentCollection

`clear, getComponentDescriptorMap, lookup`

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

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

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

`clear`

### Constructor Detail

#### ComponentMap

    public ComponentMap(MutablePlexusContainer container,
                java.lang.Class<T> type,
                java.lang.String role,
                java.util.List<java.lang.String> roleHints,
                java.lang.String hostComponent)

### Method Detail

#### size

    public int size()

Specified by:
  `size` in interface `java.util.Map<java.lang.String,T>`

#### isEmpty

    public boolean isEmpty()

Specified by:
  `isEmpty` in interface `java.util.Map<java.lang.String,T>`

#### containsKey

    public boolean containsKey(java.lang.Object key)

Specified by:
  `containsKey` in interface `java.util.Map<java.lang.String,T>`

#### containsValue

    public boolean containsValue(java.lang.Object value)

Specified by:
  `containsValue` in interface `java.util.Map<java.lang.String,T>`

#### get

    public T get(java.lang.Object k)

Specified by:
  `get` in interface `java.util.Map<java.lang.String,T>`

#### put

    public T put(java.lang.String key,
        T value)

Specified by:
  `put` in interface `java.util.Map<java.lang.String,T>`

#### putAll

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

Specified by:
  `putAll` in interface `java.util.Map<java.lang.String,T>`

#### keySet

    public java.util.Set<java.lang.String> keySet()

Specified by:
  `keySet` in interface `java.util.Map<java.lang.String,T>`

#### values

    public java.util.Collection<T> values()

Specified by:
  `values` in interface `java.util.Map<java.lang.String,T>`

#### entrySet

    public java.util.Set<java.util.Map.Entry<java.lang.String,T>> entrySet()

Specified by:
  `entrySet` in interface `java.util.Map<java.lang.String,T>`

#### equals

    public boolean equals(java.lang.Object o)

Specified by:
  `equals` in interface `java.util.Map<java.lang.String,T>`
Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `java.util.Map<java.lang.String,T>`
Overrides:
  `hashCode` in class `java.lang.Object`

#### remove

    public T remove(java.lang.Object key)

Specified by:
  `remove` in interface `java.util.Map<java.lang.String,T>`

#### checkUpdate

    protected boolean checkUpdate()

Overrides:
  `checkUpdate` in class `AbstractComponentCollection<T>`

#### releaseAllCallback

    protected void releaseAllCallback()

Specified by:
  `releaseAllCallback` in class `AbstractComponentCollection<T>`