Class StreamPreStateProcessor
- java.lang.Object
-
- io.siddhi.core.query.input.stream.state.StreamPreStateProcessor
-
- All Implemented Interfaces:
PreStateProcessor,Processor
- Direct Known Subclasses:
AbsentStreamPreStateProcessor,CountPreStateProcessor,LogicalPreStateProcessor
public class StreamPreStateProcessor extends Object implements PreStateProcessor
The processor the gets executes before checking state conditions.
-
-
Field Summary
Fields Modifier and Type Field Description protected ComparatoreventTimeComparatorprotected booleanisStartStateprotected ReentrantLocklockprotected ProcessornextProcessorprotected SiddhiQueryContextsiddhiQueryContextprotected int[]startStateIdsprotected StateEventClonerstateEventClonerprotected StateEventFactorystateEventFactoryprotected StateHolder<io.siddhi.core.query.input.stream.state.StreamPreStateProcessor.StreamPreState>stateHolderprotected intstateIdprotected io.siddhi.query.api.execution.query.input.stream.StateInputStream.TypestateTypeprotected StreamEventClonerstreamEventClonerprotected StreamEventFactorystreamEventFactoryprotected StreamPostStateProcessorthisLastProcessorprotected StreamPostStateProcessorthisStatePostProcessorprotected PreStateProcessorwithinEveryPreStateProcessorprotected longwithinTime
-
Constructor Summary
Constructors Constructor Description StreamPreStateProcessor(io.siddhi.query.api.execution.query.input.stream.StateInputStream.Type stateType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEveryState(StateEvent stateEvent)voidaddState(StateEvent stateEvent)protected voidaddState(StateEvent stateEvent, io.siddhi.core.query.input.stream.state.StreamPreStateProcessor.StreamPreState state)voidexpireEvents(long timestamp)ProcessorgetNextProcessor()Get next processor element in the processor chain.List<StateEvent>getPendingStateEventList()intgetStateId()StreamPostStateProcessorgetThisLastProcessor()StreamPostStateProcessorgetThisStatePostProcessor()voidinit()voidinit(SiddhiQueryContext siddhiQueryContext)protected booleanisExpired(StateEvent pendingStateEvent, long currentTimestamp)booleanisStartState()voidprocess(ComplexEventChunk complexEventChunk)Process the handed StreamEventprotected voidprocess(StateEvent stateEvent)voidprocess(List<ComplexEventChunk> complexEventChunks)Process the handed StreamEventComplexEventChunk<StateEvent>processAndReturn(ComplexEventChunk complexEventChunk)protected booleanremoveOnNoStateChange(io.siddhi.query.api.execution.query.input.stream.StateInputStream.Type stateType)voidresetState()voidsetNextProcessor(Processor processor)Set next processor element in processor chainvoidsetStartState(boolean isStartState)voidsetStartStateIds(int[] stateIds)voidsetStateEventCloner(StateEventCloner stateEventCloner)voidsetStateEventFactory(StateEventFactory stateEventFactory)voidsetStateId(int stateId)voidsetStreamEventCloner(StreamEventCloner streamEventCloner)voidsetStreamEventFactory(StreamEventFactory streamEventFactory)voidsetThisLastProcessor(StreamPostStateProcessor thisLastProcessor)voidsetThisStatePostProcessor(StreamPostStateProcessor thisStatePostProcessor)voidsetToLast(Processor processor)Set as the last element of the processor chainvoidsetWithinEveryPreStateProcessor(PreStateProcessor withinEveryPreStateProcessor)voidsetWithinTime(long withinTime)voidstateChanged()voidupdateState()
-
-
-
Field Detail
-
stateId
protected int stateId
-
isStartState
protected boolean isStartState
-
stateType
protected io.siddhi.query.api.execution.query.input.stream.StateInputStream.Type stateType
-
withinTime
protected long withinTime
-
startStateIds
protected int[] startStateIds
-
withinEveryPreStateProcessor
protected PreStateProcessor withinEveryPreStateProcessor
-
thisStatePostProcessor
protected StreamPostStateProcessor thisStatePostProcessor
-
thisLastProcessor
protected StreamPostStateProcessor thisLastProcessor
-
nextProcessor
protected Processor nextProcessor
-
lock
protected ReentrantLock lock
-
stateEventFactory
protected StateEventFactory stateEventFactory
-
streamEventCloner
protected StreamEventCloner streamEventCloner
-
stateEventCloner
protected StateEventCloner stateEventCloner
-
streamEventFactory
protected StreamEventFactory streamEventFactory
-
siddhiQueryContext
protected SiddhiQueryContext siddhiQueryContext
-
stateHolder
protected StateHolder<io.siddhi.core.query.input.stream.state.StreamPreStateProcessor.StreamPreState> stateHolder
-
eventTimeComparator
protected Comparator eventTimeComparator
-
-
Method Detail
-
init
public void init(SiddhiQueryContext siddhiQueryContext)
-
getThisStatePostProcessor
public StreamPostStateProcessor getThisStatePostProcessor()
- Specified by:
getThisStatePostProcessorin interfacePreStateProcessor
-
setThisStatePostProcessor
public void setThisStatePostProcessor(StreamPostStateProcessor thisStatePostProcessor)
-
process
public void process(ComplexEventChunk complexEventChunk)
Process the handed StreamEvent
-
process
public void process(List<ComplexEventChunk> complexEventChunks)
Description copied from interface:ProcessorProcess the handed StreamEvent
-
isExpired
protected boolean isExpired(StateEvent pendingStateEvent, long currentTimestamp)
-
process
protected void process(StateEvent stateEvent)
-
getNextProcessor
public Processor getNextProcessor()
Get next processor element in the processor chain. Processed event should be sent to next processor- Specified by:
getNextProcessorin interfaceProcessor- Returns:
- Processor next processor
-
setNextProcessor
public void setNextProcessor(Processor processor)
Set next processor element in processor chain- Specified by:
setNextProcessorin interfaceProcessor- Parameters:
processor- Processor to be set as next element of processor chain
-
setToLast
public void setToLast(Processor processor)
Set as the last element of the processor chain
-
init
public void init()
- Specified by:
initin interfacePreStateProcessor
-
getThisLastProcessor
public StreamPostStateProcessor getThisLastProcessor()
-
setThisLastProcessor
public void setThisLastProcessor(StreamPostStateProcessor thisLastProcessor)
-
addState
public void addState(StateEvent stateEvent)
- Specified by:
addStatein interfacePreStateProcessor
-
addState
protected void addState(StateEvent stateEvent, io.siddhi.core.query.input.stream.state.StreamPreStateProcessor.StreamPreState state)
-
addEveryState
public void addEveryState(StateEvent stateEvent)
- Specified by:
addEveryStatein interfacePreStateProcessor
-
setWithinEveryPreStateProcessor
public void setWithinEveryPreStateProcessor(PreStateProcessor withinEveryPreStateProcessor)
- Specified by:
setWithinEveryPreStateProcessorin interfacePreStateProcessor
-
stateChanged
public void stateChanged()
-
isStartState
public boolean isStartState()
- Specified by:
isStartStatein interfacePreStateProcessor
-
setStartState
public void setStartState(boolean isStartState)
- Specified by:
setStartStatein interfacePreStateProcessor
-
setStateEventFactory
public void setStateEventFactory(StateEventFactory stateEventFactory)
-
setStreamEventFactory
public void setStreamEventFactory(StreamEventFactory streamEventFactory)
-
setStreamEventCloner
public void setStreamEventCloner(StreamEventCloner streamEventCloner)
-
setStateEventCloner
public void setStateEventCloner(StateEventCloner stateEventCloner)
-
resetState
public void resetState()
- Specified by:
resetStatein interfacePreStateProcessor
-
updateState
public void updateState()
- Specified by:
updateStatein interfacePreStateProcessor
-
expireEvents
public void expireEvents(long timestamp)
- Specified by:
expireEventsin interfacePreStateProcessor
-
processAndReturn
public ComplexEventChunk<StateEvent> processAndReturn(ComplexEventChunk complexEventChunk)
- Specified by:
processAndReturnin interfacePreStateProcessor
-
removeOnNoStateChange
protected boolean removeOnNoStateChange(io.siddhi.query.api.execution.query.input.stream.StateInputStream.Type stateType)
-
getStateId
public int getStateId()
- Specified by:
getStateIdin interfacePreStateProcessor
-
setStateId
public void setStateId(int stateId)
- Specified by:
setStateIdin interfacePreStateProcessor
-
setWithinTime
public void setWithinTime(long withinTime)
- Specified by:
setWithinTimein interfacePreStateProcessor
-
setStartStateIds
public void setStartStateIds(int[] stateIds)
- Specified by:
setStartStateIdsin interfacePreStateProcessor
-
getPendingStateEventList
public List<StateEvent> getPendingStateEventList()
-
-