Class SnapshotableStreamEventQueue
- java.lang.Object
-
- io.siddhi.core.event.stream.holder.SnapshotableStreamEventQueue
-
- All Implemented Interfaces:
Serializable,Iterator<StreamEvent>
- Direct Known Subclasses:
ListEventHolder
public class SnapshotableStreamEventQueue extends Object implements Iterator<StreamEvent>, Serializable
The class to hold stream events in a queue and by managing its snapshots- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected StreamEventfirstprotected StreamEventlastprotected StreamEventlastReturnedprotected StreamEventpreviousToLastReturnedprotected intsize
-
Constructor Summary
Constructors Constructor Description SnapshotableStreamEventQueue(StreamEventClonerHolder eventClonerHolder)SnapshotableStreamEventQueue(StreamEventClonerHolder eventClonerHolder, int operationChangeLogThreshold)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(StreamEvent events)voidclear()booleanequals(Object o)StreamEventgetFirst()StreamEventgetLast()SnapshotgetSnapshot()inthashCode()booleanhasNext()Returns true if the iteration has more elements.StreamEventnext()Returns the next element in the iteration.voidoverwrite(StreamEvent streamEvent)StreamEventpoll()voidremove()Removes from the underlying collection the last element returned by the iterator (optional operation).voidreset()voidrestore(SnapshotStateList snapshotStatelist)StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
first
protected StreamEvent first
-
previousToLastReturned
protected StreamEvent previousToLastReturned
-
lastReturned
protected StreamEvent lastReturned
-
last
protected StreamEvent last
-
size
protected int size
-
-
Constructor Detail
-
SnapshotableStreamEventQueue
public SnapshotableStreamEventQueue(StreamEventClonerHolder eventClonerHolder)
-
SnapshotableStreamEventQueue
public SnapshotableStreamEventQueue(StreamEventClonerHolder eventClonerHolder, int operationChangeLogThreshold)
-
-
Method Detail
-
add
public void add(StreamEvent events)
-
remove
public void remove()
Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.- Specified by:
removein interfaceIterator<StreamEvent>- Throws:
UnsupportedOperationException- if the remove operation is not supported by this Iterator.IllegalStateException- if the next method has not yet been called, or the remove method has already been called after the last call to the next method.
-
hasNext
public boolean hasNext()
Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)- Specified by:
hasNextin interfaceIterator<StreamEvent>- Returns:
- true if the iterator has more elements.
-
next
public StreamEvent next()
Returns the next element in the iteration.- Specified by:
nextin interfaceIterator<StreamEvent>- Returns:
- the next element in the iteration.
- Throws:
NoSuchElementException- iteration has no more elements.
-
clear
public void clear()
-
reset
public void reset()
-
getFirst
public StreamEvent getFirst()
-
getLast
public StreamEvent getLast()
-
poll
public StreamEvent poll()
-
getSnapshot
public Snapshot getSnapshot()
-
restore
public void restore(SnapshotStateList snapshotStatelist)
-
overwrite
public void overwrite(StreamEvent streamEvent)
-
-