org.codehaus.plexus.component.collections

## Class AbstractComponentCollection<T>

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

Direct Known Subclasses:
  ComponentList, ComponentMap

    public abstract class AbstractComponentCollection<T>
    extends java.lang.Object

Author:
  Jason van Zyl

### Field Summary

Fields
`protected java.lang.Class<T>` `componentType` The type of the components held by this collection
`protected MutablePlexusContainer` `container` The reference to the PlexusContainer
`protected java.lang.String` `hostComponent` The component that requires this collection of components
`protected Logger` `logger` Used to log errors in the component lookup process.
`protected java.lang.String` `role` The role of the components we are holding in this Collection.
`protected java.util.List<java.lang.String>` `roleHints` The role hint of the components we are holding in this Collection.

### Constructor Summary

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

### Method Summary

Methods
`protected boolean` `checkUpdate()`
`void` `clear()`
`protected java.util.Map<java.lang.String,ComponentDescriptor<T>>` `getComponentDescriptorMap()`
`protected T` `lookup(ComponentDescriptor<T> componentDescriptor)`
`protected abstract void` `releaseAllCallback()`

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

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

### Field Detail

#### container

    protected MutablePlexusContainer container

The reference to the PlexusContainer

#### componentType

    protected final java.lang.Class<T> componentType

The type of the components held by this collection

#### role

    protected java.lang.String role

The role of the components we are holding in this Collection.

#### roleHints

    protected java.util.List<java.lang.String> roleHints

The role hint of the components we are holding in this Collection.

#### hostComponent

    protected java.lang.String hostComponent

The component that requires this collection of components

#### logger

    protected Logger logger

Used to log errors in the component lookup process.

### Constructor Detail

#### AbstractComponentCollection

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

### Method Detail

#### getComponentDescriptorMap

    protected java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap()

#### checkUpdate

    protected boolean checkUpdate()

#### lookup

    protected T lookup(ComponentDescriptor<T> componentDescriptor)

#### clear

    public void clear()

#### releaseAllCallback

    protected abstract void releaseAllCallback()