public class LengthWindowProcessor extends SlidingFindableWindowProcessor<io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState>
WindowProcessor
which represent a Window operating based on a pre-defined length.attributeExpressionExecutors, attributeExpressionLength, complexEventPopulater, inputDefinition, metaStreamEvent, nextProcessor, siddhiQueryContext, stateHolder, streamEventClonerHolder
Constructor and Description |
---|
LengthWindowProcessor() |
Modifier and Type | Method and Description |
---|---|
CompiledCondition |
compileCondition(io.siddhi.query.api.expression.Expression condition,
MatchingMetaInfoHolder matchingMetaInfoHolder,
List<VariableExpressionExecutor> variableExpressionExecutors,
Map<String,Table> tableMap,
io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState state,
SiddhiQueryContext siddhiQueryContext)
To construct a finder having the capability of finding events at the processor that corresponds to the incoming
matchingEvent and the given matching expression logic.
|
StreamEvent |
find(StateEvent matchingEvent,
CompiledCondition compiledCondition,
StreamEventCloner streamEventCloner,
io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState state)
To find events from the processor event pool, that the matches the matchingEvent based on finder logic.
|
int |
getLength() |
protected StateFactory |
init(ExpressionExecutor[] attributeExpressionExecutors,
ConfigReader configReader,
SiddhiQueryContext siddhiQueryContext)
The init method of the WindowProcessor, this method will be called before other methods
|
protected void |
process(ComplexEventChunk<StreamEvent> streamEventChunk,
Processor nextProcessor,
StreamEventCloner streamEventCloner,
io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState state)
The main processing method that will be called upon event arrival
|
void |
setLength(int length) |
void |
start()
This will be called only once and this can be used to acquire
required resources for the processing element.
|
void |
stop()
This will be called only once and this can be used to release
the acquired resources for processing.
|
compileCondition, find
getProcessingMode, init, processEventChunk
getReturnAttributes
constructStreamEventPopulater, getNextProcessor, initProcessor, isStateful, process, process, setNextProcessor, setStreamEventCloner, setToLast
public int getLength()
public void setLength(int length)
protected StateFactory init(ExpressionExecutor[] attributeExpressionExecutors, ConfigReader configReader, SiddhiQueryContext siddhiQueryContext)
SlidingWindowProcessor
init
in class SlidingWindowProcessor<io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState>
attributeExpressionExecutors
- the executors of each function parametersconfigReader
- the config reader of windowsiddhiQueryContext
- the context of the siddhi queryprotected void process(ComplexEventChunk<StreamEvent> streamEventChunk, Processor nextProcessor, StreamEventCloner streamEventCloner, io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState state)
SlidingWindowProcessor
process
in class SlidingWindowProcessor<io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState>
streamEventChunk
- the stream 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 modificationstate
- current query statepublic CompiledCondition compileCondition(io.siddhi.query.api.expression.Expression condition, MatchingMetaInfoHolder matchingMetaInfoHolder, List<VariableExpressionExecutor> variableExpressionExecutors, Map<String,Table> tableMap, io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState state, SiddhiQueryContext siddhiQueryContext)
SlidingFindableWindowProcessor
compileCondition
in class SlidingFindableWindowProcessor<io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState>
condition
- the matching conditionmatchingMetaInfoHolder
- the meta structure of the incoming matchingEventvariableExpressionExecutors
- the list of variable ExpressionExecutors already createdtableMap
- map of event tablesstate
- current query statesiddhiQueryContext
- current siddhi query contextpublic StreamEvent find(StateEvent matchingEvent, CompiledCondition compiledCondition, StreamEventCloner streamEventCloner, io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState state)
SlidingFindableWindowProcessor
find
in class SlidingFindableWindowProcessor<io.siddhi.core.query.processor.stream.window.LengthWindowProcessor.WindowState>
matchingEvent
- the event to be matched with the events at the processorcompiledCondition
- the execution element responsible for matching the corresponding events that matches
the matchingEvent based on pool of events at ProcessorstreamEventCloner
- stream event clonerstate
- current query state @return the matched eventspublic void start()
ExternalReferencedHolder
public void stop()
ExternalReferencedHolder
Copyright © 2019. All rights reserved.