org.apache.ignite.internal.processors.plugin

## Class IgnitePluginProcessor

- java.lang.Object
- - org.apache.ignite.internal.processors.GridProcessorAdapter
  - - org.apache.ignite.internal.processors.plugin.IgnitePluginProcessor

All Implemented Interfaces:
  GridComponent, GridProcessor

    public class IgnitePluginProcessor
    extends GridProcessorAdapter

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.ignite.internal.GridComponent

`GridComponent.DiscoveryDataExchangeType`

### Field Summary

### Fields inherited from class org.apache.ignite.internal.processors.GridProcessorAdapter

`ctx, log`

### Constructor Summary

Constructors
Constructor and Description
`IgnitePluginProcessor(GridKernalContext ctx, IgniteConfiguration cfg, List<PluginProvider> providers)`

### Method Summary

Methods
`Collection<PluginProvider>` `allProviders()`
`Serializable` `collectDiscoveryData(UUID nodeId)` Gets discovery data object that will be sent to new node during discovery process.
`<T> T` `createComponent(Class<T> cls)`
`GridComponent.DiscoveryDataExchangeType` `discoveryDataType()` Gets unique component type to distinguish components providing discovery data.
`<T extends Extension> T[]` `extensions(Class<T> extensionItf)`
`void` `onDiscoveryDataReceived(UUID nodeId, UUID rmtNodeId, Serializable data)` Receives discovery data object from remote nodes (called on new node during discovery process).
`<T extends PluginContext> T` `pluginContextForProvider(PluginProvider provider)`
`<T extends PluginProvider> T` `pluginProvider(String name)`
`void` `start()` Starts grid component.

### Methods inherited from class org.apache.ignite.internal.processors.GridProcessorAdapter

`assertParameter, onKernalStart, onKernalStop, printMemoryStats, stop, toString, validateNode`

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

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

### Constructor Detail

#### IgnitePluginProcessor

    public IgnitePluginProcessor(GridKernalContext ctx,
                         IgniteConfiguration cfg,
                         List<PluginProvider> providers)

Parameters:
  `ctx` - Kernal context.
  `cfg` - Ignite configuration.
  `providers` - Plugin providers.

### Method Detail

#### extensions

    @Nullable
    public <T extends Extension> T[] extensions(Class<T> extensionItf)

Parameters:
  `extensionItf` - Extension interface class.
Returns:
  Returns implementation for provided extension from all plugins.

#### pluginProvider

    @Nullable
    public <T extends PluginProvider> T pluginProvider(String name)

Parameters:
  `name` - Plugin name.
Returns:
  Plugin provider.

#### allProviders

    public Collection<PluginProvider> allProviders()

Returns:
  All plugin providers.

#### pluginContextForProvider

    public <T extends PluginContext> T pluginContextForProvider(PluginProvider provider)

Parameters:
  `provider` - Plugin context.
Returns:
  Plugin context.

#### createComponent

    public <T> T createComponent(Class<T> cls)

Type Parameters:
  `T` - Component type.
Parameters:
  `cls` - Component class.
Returns:
  Component class instance or `null` if no one plugin override this component.

#### start

    public void start()
               throws IgniteCheckedException

Starts grid component.

Specified by:
  `start` in interface `GridComponent`
Overrides:
  `start` in class `GridProcessorAdapter`
Throws:
  `IgniteCheckedException` - Throws in case of any errors.

#### discoveryDataType

    @Nullable
    public GridComponent.DiscoveryDataExchangeType discoveryDataType()

Gets unique component type to distinguish components providing discovery data. Must return non-null value if component implements method `GridComponent.collectDiscoveryData(UUID)`.

Specified by:
  `discoveryDataType` in interface `GridComponent`
Overrides:
  `discoveryDataType` in class `GridProcessorAdapter`
Returns:
  Unique component type for discovery data exchange.

#### collectDiscoveryData

    @Nullable
    public Serializable collectDiscoveryData(UUID nodeId)

Gets discovery data object that will be sent to new node during discovery process.

Specified by:
  `collectDiscoveryData` in interface `GridComponent`
Overrides:
  `collectDiscoveryData` in class `GridProcessorAdapter`
Parameters:
  `nodeId` - ID of new node that joins topology.
Returns:
  Discovery data object or `null` if there is nothing to send for this component.

#### onDiscoveryDataReceived

    public void onDiscoveryDataReceived(UUID nodeId,
                               UUID rmtNodeId,
                               Serializable data)

Receives discovery data object from remote nodes (called on new node during discovery process).

Specified by:
  `onDiscoveryDataReceived` in interface `GridComponent`
Overrides:
  `onDiscoveryDataReceived` in class `GridProcessorAdapter`
Parameters:
  `nodeId` - Joining node ID.
  `rmtNodeId` - Remote node ID for which data is provided.
  `data` - Discovery data object or `null` if nothing was

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.3.0-incubating
Release Date | : July 10 2015