DataProvider::DataProviderPipelineFactory Class Reference

A factory class for creating DataProviderPipeline objects. More...

## Public Member Functions

| append (AbstractDataProcessor processor)
| Appends a data processor to the default pipeline. More...
| append (int id, AbstractDataProcessor processor)
| Appends a data processor to a pipeline. More...
int | appendQueue (int id)
| Appends a new queue to an existing pipeline and returns the new queue ID. More...
| constructor (*hash< PipelineOptionInfo > opts)
| Creates the object with the given options. More...
DataProviderPipeline | create (*hash< PipelineOptionInfo > opts)
| Creates a new DataProviderPipeline object. More...
hash< PipelineFactoryInfo > | getInfo ()
| Returns pipeline factory info. More...

## Protected Member Functions

| checkUpdateQueue (softstring id)
| Checks if the given queue exists.
| processQueue (DataProviderPipeline pipe, int id, hash< PipelineQueueInfo > queue)
| Creates a queue in a pipeline.

## Protected Attributes

bool | do_bulk = True
| Bulk flag.
*hash< PipelineOptionInfo > | opts
| Options for the pipelines.
hash< string, hash< PipelineQueueInfo > > | pmap
| Hash of queues keyed by queue ID.

## Detailed Description

A factory class for creating DataProviderPipeline objects.

Note
  This object is not thread safe for initialization; it should be initialized in a single thread. Once initialized it can be safely used in multiple threads.

## Member Function Documentation

## append() [1/2]

DataProvider::DataProviderPipelineFactory::append | ( | AbstractDataProcessor | processor | ) |

Appends a data processor to the default pipeline.

Note
  The initial queue is queue 0

## append() [2/2]

DataProvider::DataProviderPipelineFactory::append | ( | int | id,
|  | AbstractDataProcessor | processor
| ) |  |

Appends a data processor to a pipeline.

Parameters

  id | the queue ID as returned from appendQueue()
  processor | the data processor to append to the pipeline

Exceptions

  PIPELINE-ERROR | invalid queue ID or the queue already terminates in additional queues

Note
  The initial queue is queue 0

See also
  appendQueue()

## appendQueue()

int DataProvider::DataProviderPipelineFactory::appendQueue | ( | int | id | ) |

Appends a new queue to an existing pipeline and returns the new queue ID.

Parameters

  id | the queue to which the new pipeline will be appended

Returns
  the new queue ID

Exceptions

  PIPELINE-ERROR | the pipeline is locked, or the given queue does not exist

Note
  The initial queue is queue 0

See also
  append(int, AbstractDataProcessor)

## constructor()

DataProvider::DataProviderPipelineFactory::constructor | ( | *hash< PipelineOptionInfo > | opts | ) |

Creates the object with the given options.

Parameters

  opts | any options for the pipeline; see PipelineOptionInfo for more information

Note
  The object is created with an initial queue with ID 0

## create()

DataProviderPipeline DataProvider::DataProviderPipelineFactory::create | ( | *hash< PipelineOptionInfo > | opts | ) |

Creates a new DataProviderPipeline object.

Parameters

  opts | override any options given in the constructor

## getInfo()

hash<PipelineFactoryInfo> DataProvider::DataProviderPipelineFactory::getInfo | ( |  | ) |

Returns pipeline factory info.

Returns
  pipeline factory info; see PipelineFactoryInfo for more information