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

## Class ReverseBundleProcessor

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

All Implemented Interfaces:
  BundleProcessor, Lifecycle

    public class ReverseBundleProcessor
    extends ForwardingBundleProcessor

A bundle processor delegating a wrapped bundle processor. On stop, the bundles are processed in reverse.

### Constructor Summary

Constructors
Constructor and Description
`ReverseBundleProcessor(BundleProcessor delegate)` Creates the processor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `activate(org.osgi.framework.Bundle bundle)` A bundle is starting.
`void` `deactivate(org.osgi.framework.Bundle bundle)` A bundle is stopping.
`protected BundleProcessor` `delegate()` Implementation must implement this method to retrieve the wrapped bundle processor.
`void` `stop()` iPOJO is stopping.

### Methods inherited from class org.apache.felix.ipojo.extender.internal.processor.ForwardingBundleProcessor

`start`

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

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

### Constructor Detail

#### ReverseBundleProcessor

    public ReverseBundleProcessor(BundleProcessor delegate)

Creates the processor.

Parameters:
  `delegate` - the processor on which call are delegated

### Method Detail

#### delegate

    protected BundleProcessor delegate()

Description copied from class: `ForwardingBundleProcessor`
Implementation must implement this method to retrieve the wrapped bundle processor.

Specified by:
  `delegate` in class `ForwardingBundleProcessor`
Returns:
  the wrapped processor.

#### activate

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

A bundle is starting. The bundle is added to the list, and the processing delegated to the wrapped processor.

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

#### deactivate

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

A bundle is stopping. The bundle is removed from the list and the processing delegated to the wrapped processor.

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

#### stop

    public void stop()

iPOJO is stopping. The bundle that are still in the list are processed in the reverse order by the wrapped processor.

Specified by:
  `stop` in interface `Lifecycle`
Overrides:
  `stop` in class `ForwardingBundleProcessor`