public abstract class AbstractStreamProcessor extends Object implements Processor, EternalReferencedHolder, Snapshotable
Processor intended to be used by any Stream Processors.| Modifier and Type | Field and Description |
|---|---|
protected List<io.siddhi.query.api.definition.Attribute> |
additionalAttributes |
protected ExpressionExecutor[] |
attributeExpressionExecutors |
protected int |
attributeExpressionLength |
protected ComplexEventPopulater |
complexEventPopulater |
protected String |
elementId |
protected io.siddhi.query.api.definition.AbstractDefinition |
inputDefinition |
protected MetaStreamEvent |
metaStreamEvent |
protected Processor |
nextProcessor |
protected SiddhiQueryContext |
siddhiQueryContext |
protected StreamEventCloner |
streamEventCloner |
protected StreamEventClonerHolder |
streamEventClonerHolder |
| Constructor and Description |
|---|
AbstractStreamProcessor() |
| Modifier and Type | Method and Description |
|---|---|
void |
clean()
Used to clean its references
|
Processor |
cloneProcessor(String key)
Clone a copy of processor
|
void |
constructStreamEventPopulater(MetaStreamEvent metaStreamEvent,
int streamEventChainIndex) |
String |
getElementId() |
Processor |
getNextProcessor()
Get next processor element in the processor chain.
|
abstract ProcessingMode |
getProcessingMode()
Defines the behaviour of the processing, will be called after the init
|
protected abstract List<io.siddhi.query.api.definition.Attribute> |
init(MetaStreamEvent metaStreamEvent,
io.siddhi.query.api.definition.AbstractDefinition inputDefinition,
ExpressionExecutor[] attributeExpressionExecutors,
ConfigReader configReader,
boolean outputExpectsExpiredEvents,
SiddhiQueryContext siddhiQueryContext)
The init method of the StreamProcessor, this method will be called before other methods
|
void |
initProcessor(MetaStreamEvent metaStreamEvent,
ExpressionExecutor[] attributeExpressionExecutors,
ConfigReader configReader,
boolean outputExpectsExpiredEvents,
io.siddhi.query.api.SiddhiElement siddhiElement,
SiddhiQueryContext siddhiQueryContext) |
void |
process(ComplexEventChunk streamEventChunk)
Process the handed StreamEvent
|
protected abstract void |
processEventChunk(ComplexEventChunk<StreamEvent> streamEventChunk,
Processor nextProcessor,
StreamEventCloner streamEventCloner,
ComplexEventPopulater complexEventPopulater)
The main processing method that will be called upon event arrival
|
void |
setNextProcessor(Processor processor)
Set next processor element in processor chain
|
void |
setStreamEventCloner(StreamEventCloner streamEventCloner) |
void |
setToLast(Processor processor)
Set as the last element of the processor chain
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitstart, stopcurrentState, restoreStateprotected Processor nextProcessor
protected List<io.siddhi.query.api.definition.Attribute> additionalAttributes
protected MetaStreamEvent metaStreamEvent
protected SiddhiQueryContext siddhiQueryContext
protected StreamEventClonerHolder streamEventClonerHolder
protected StreamEventCloner streamEventCloner
protected io.siddhi.query.api.definition.AbstractDefinition inputDefinition
protected ExpressionExecutor[] attributeExpressionExecutors
protected int attributeExpressionLength
protected ComplexEventPopulater complexEventPopulater
protected String elementId
public void initProcessor(MetaStreamEvent metaStreamEvent, ExpressionExecutor[] attributeExpressionExecutors, ConfigReader configReader, boolean outputExpectsExpiredEvents, io.siddhi.query.api.SiddhiElement siddhiElement, SiddhiQueryContext siddhiQueryContext)
protected abstract List<io.siddhi.query.api.definition.Attribute> init(MetaStreamEvent metaStreamEvent, io.siddhi.query.api.definition.AbstractDefinition inputDefinition, ExpressionExecutor[] attributeExpressionExecutors, ConfigReader configReader, boolean outputExpectsExpiredEvents, SiddhiQueryContext siddhiQueryContext)
metaStreamEvent - the stream event metainputDefinition - the incoming stream definitionattributeExpressionExecutors - the executors of each function parametersconfigReader - this hold the AbstractStreamProcessor extensions configuration
reader.outputExpectsExpiredEvents - is expired events sent as outputsiddhiQueryContext - current siddhi query contextpublic void process(ComplexEventChunk streamEventChunk)
Processorprotected abstract void processEventChunk(ComplexEventChunk<StreamEvent> streamEventChunk, Processor nextProcessor, StreamEventCloner streamEventCloner, ComplexEventPopulater complexEventPopulater)
streamEventChunk - the event chunk that need to be processednextProcessor - the next processor to which the success events need to be passedstreamEventCloner - helps to clone the incoming event for local storage or modificationcomplexEventPopulater - helps to populate the events with the resultant attributespublic Processor getNextProcessor()
ProcessorgetNextProcessor in interface Processorpublic void setNextProcessor(Processor processor)
ProcessorsetNextProcessor in interface Processorprocessor - Processor to be set as next element of processor chainpublic Processor cloneProcessor(String key)
ProcessorcloneProcessor in interface Processorkey - partition keypublic void constructStreamEventPopulater(MetaStreamEvent metaStreamEvent, int streamEventChainIndex)
public void setStreamEventCloner(StreamEventCloner streamEventCloner)
public void setToLast(Processor processor)
Processorpublic String getElementId()
getElementId in interface Snapshotablepublic void clean()
Processorclean in interface Processorclean in interface Snapshotablepublic abstract ProcessingMode getProcessingMode()
Copyright © 2019. All rights reserved.