org.apache.felix.ipojo.extender.internal.processor

## Class ChainedBundleProcessor

- java.lang.Object
- - org.apache.felix.ipojo.extender.internal.processor.ChainedBundleProcessor

All Implemented Interfaces:
  BundleProcessor, Lifecycle

    public class ChainedBundleProcessor
    extends java.lang.Object
    implements BundleProcessor

A bundle processor chaining others processor. It composes the extender mechanism.

Instance must be created using the `create(org.apache.felix.ipojo.extender.internal.BundleProcessor...)` method.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `activate(org.osgi.framework.Bundle bundle)` A bundle is starting.
`static ChainedBundleProcessor` `create(BundleProcessor... processors)` Creates a new chained bundle processor.
`void` `deactivate(org.osgi.framework.Bundle bundle)` A bundle is stopping.
`java.util.List<BundleProcessor>` `getProcessors()` Gets the list of processors.
`void` `start()` The iPOJO bundle is starting.
`void` `stop()` The iPOJO bundle is stopping.

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

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

### Method Detail

#### create

    public static ChainedBundleProcessor create(BundleProcessor... processors)

Creates a new chained bundle processor.

Parameters:
  `processors` - the set of processor to chain. Cannot be `null` or empty.
Returns:
  the created bundle processor
Throws:
  `java.lang.IllegalArgumentException` - if the given processor list is `null` or empty.

#### getProcessors

    public java.util.List<BundleProcessor> getProcessors()

Gets the list of processors. This method returns a copy of the list of processor.

Returns:
  a copy of the processor list

#### activate

    public void activate(org.osgi.framework.Bundle bundle)

A bundle is starting. Call the `BundleProcessor.activate(org.osgi.framework.Bundle)` method on all chained processors.

Specified by:
  `activate` in interface `BundleProcessor`
Parameters:
  `bundle` - the bundle

#### deactivate

    public void deactivate(org.osgi.framework.Bundle bundle)

A bundle is stopping. Call the `BundleProcessor.deactivate(org.osgi.framework.Bundle)` method on all chained processors.

Specified by:
  `deactivate` in interface `BundleProcessor`
Parameters:
  `bundle` - the bundle

#### start

    public void start()

The iPOJO bundle is starting. Call the `Lifecycle.start()` method on all chained processors.

Specified by:
  `start` in interface `Lifecycle`

#### stop

    public void stop()

The iPOJO bundle is stopping. Call the `Lifecycle.stop()` method on all chained processors.

Specified by:
  `stop` in interface `Lifecycle`