Processor

From DocDataFlow
Jump to: navigation, search

A processor is an atomic adapter which can substitute certain granules with different granules.

Inside the processor, there is some programming logic which will select particular types of input granule, and returns a different granule instead.

The original granules are normally dropped from the data flow. They are substituted by the newly created 'processed' granules.

In the Crawler system, once created, a granule is never modified. A granule is a 'constant' data entity.

So, a processor can only substitute some of the input granules by newly created granules.

An example: a processor could be set up to substitute any word granules with all uppercase word granules.

Consider the following data flow which originated somewhere up-flow. This is the input to the example processor:

Word: This
Word: is
Word: a
Word: paragraph
Para: This is a paragraph
Word: This
Word: is
Word: another
Word: paragraph
Para: This is another paragraph
TextFrame: pos (10, 20), width 20, height 80

The output could look like this:

Word: THIS
Word: IS
Word: A
Word: PARAGRAPH
Para: This is a paragraph
Word: THIS
Word: IS
Word: ANOTHER
Word: PARAGRAPH
Para: This is another paragraph
TextFrame: pos (10, 20), width 20, height 80