Package com.streambase.liveview.client
Class SnapshotQueryListener
java.lang.Object
com.streambase.liveview.client.SnapshotQueryListener
- All Implemented Interfaces:
QueryListener
,SnapshotResult
,Closeable
,AutoCloseable
,EventListener
A Convenience implementation of
QueryListener
that provides a pull based iterator pattern for iterating over snapshot queries.
This should be used with snapshot queries only. Snapshots that hit the row limit are ended without any special notification.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
closes any resource associated with the snapshot resultvoid
deleteBegin
(BeginDeleteEvent event) Event to indicate the start of delete query.void
deleteEnd
(EndDeleteEvent event) Event to indicate the delete query is complete.void
Event when an exception occurs during the query.Retrieves the fields describing the tuples that will be returned.boolean
hasNext()
See if there are more tuples to retrieve.next()
Retrieves the next tuple in the result.void
queryClosed
(QueryClosedEvent event) Event when a query being listened to is closed.void
void
snapshotBegin
(BeginSnapshotEvent event) Event to indicate the start of the result snapshot.void
snapshotEnd
(EndSnapshotEvent event) Event to indicate the query snapshot is complete.void
tupleAdded
(TupleAddedEvent event) Event when a new tuple is added to the result.void
tupleRemoved
(TupleRemovedEvent event) Event when an existing tuple is removed from the result.void
tupleUpdated
(TupleUpdatedEvent event) Event when an existing tuple in the result is updated.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.streambase.liveview.client.QueryListener
aggMarkBegin, aggMarkEnd
-
Constructor Details
-
SnapshotQueryListener
public SnapshotQueryListener() -
SnapshotQueryListener
public SnapshotQueryListener(int dataQueueCapacity)
-
-
Method Details
-
getFields
Retrieves the fields describing the tuples that will be returned.- Specified by:
getFields
in interfaceSnapshotResult
- Returns:
- the fields describing the tuples
- Throws:
LiveViewException
- if exception occurs on the Query
-
hasNext
See if there are more tuples to retrieve. If there are not currently any Tuples waiting to be read, this will block until either the next Tuple or the Snapshot end arrives.- Specified by:
hasNext
in interfaceSnapshotResult
- Returns:
- true if more tuples exist in result
- Throws:
LiveViewException
-
next
Retrieves the next tuple in the result. If there are not currently any Tuples waiting to be read, this will block until either the next Tuple or the Snapshot end arrives.- Specified by:
next
in interfaceSnapshotResult
- Returns:
- the next tuple
- Throws:
LiveViewException
- if exception occurs on the Query
-
tupleAdded
Event when a new tuple is added to the result.- Specified by:
tupleAdded
in interfaceQueryListener
- Parameters:
event
- add event
-
tupleUpdated
Event when an existing tuple in the result is updated.- Specified by:
tupleUpdated
in interfaceQueryListener
- Parameters:
event
- update event
-
tupleRemoved
Event when an existing tuple is removed from the result.- Specified by:
tupleRemoved
in interfaceQueryListener
- Parameters:
event
- remove event
-
snapshotBegin
Event to indicate the start of the result snapshot. This is the first method called when a query starts returning results, but this method is also called to indicate a reset (a complete restart of the query.)- Specified by:
snapshotBegin
in interfaceQueryListener
- Parameters:
event
- snapshot begin
-
snapshotEnd
Event to indicate the query snapshot is complete.- Specified by:
snapshotEnd
in interfaceQueryListener
- Parameters:
event
- snapshot end
-
exceptionRaised
Event when an exception occurs during the query. Since 1.3, reaching the row limit is considered an exception.- Specified by:
exceptionRaised
in interfaceQueryListener
- Parameters:
event
- exception event
-
queryClosed
Event when a query being listened to is closed.- Specified by:
queryClosed
in interfaceQueryListener
- Parameters:
event
- query closed event
-
setQuery
-
close
public void close()Description copied from interface:SnapshotResult
closes any resource associated with the snapshot result- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceSnapshotResult
-
deleteBegin
Description copied from interface:QueryListener
Event to indicate the start of delete query.- Specified by:
deleteBegin
in interfaceQueryListener
- Parameters:
event
- delete begin
-
deleteEnd
Description copied from interface:QueryListener
Event to indicate the delete query is complete.- Specified by:
deleteEnd
in interfaceQueryListener
- Parameters:
event
- delete end
-