public class SortWindowProcessor extends SlidingFindableWindowProcessor<io.siddhi.core.query.processor.stream.window.SortWindowProcessor.WindowState>
Description: In the example query given, 5 is the size of the window. The arguments following the size of the window are optional. If neither "asc" nor "desc" is given for a certain attribute, order defaults to "asc"
attributeExpressionExecutors, attributeExpressionLength, complexEventPopulater, inputDefinition, metaStreamEvent, nextProcessor, siddhiQueryContext, stateHolder, streamEventClonerHolder
Constructor and Description |
---|
SortWindowProcessor() |
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.SortWindowProcessor.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.SortWindowProcessor.WindowState state)
To find events from the processor event pool, that the matches the matchingEvent based on finder logic.
|
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.SortWindowProcessor.WindowState state)
The main processing method that will be called upon event arrival
|
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
protected StateFactory init(ExpressionExecutor[] attributeExpressionExecutors, ConfigReader configReader, SiddhiQueryContext siddhiQueryContext)
SlidingWindowProcessor
init
in class SlidingWindowProcessor<io.siddhi.core.query.processor.stream.window.SortWindowProcessor.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.SortWindowProcessor.WindowState state)
SlidingWindowProcessor
process
in class SlidingWindowProcessor<io.siddhi.core.query.processor.stream.window.SortWindowProcessor.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 void start()
ExternalReferencedHolder
public void stop()
ExternalReferencedHolder
public 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.SortWindowProcessor.WindowState state, SiddhiQueryContext siddhiQueryContext)
SlidingFindableWindowProcessor
compileCondition
in class SlidingFindableWindowProcessor<io.siddhi.core.query.processor.stream.window.SortWindowProcessor.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.SortWindowProcessor.WindowState state)
SlidingFindableWindowProcessor
find
in class SlidingFindableWindowProcessor<io.siddhi.core.query.processor.stream.window.SortWindowProcessor.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 eventsCopyright © 2019. All rights reserved.