public interface NamedWindowService
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ERROR_MSG_DATAWINDOWS
Error message for data windows required.
|
static java.lang.String |
ERROR_MSG_NO_DATAWINDOW_ALLOWED
Error message for no data window allowed.
|
Modifier and Type | Method and Description |
---|---|
void |
addDispatch(NamedWindowDeltaData delta,
java.util.Map<EPStatementAgentInstanceHandle,java.util.List<NamedWindowConsumerView>> consumers)
For use to add a result of a named window that must be dispatched to consuming views.
|
void |
addNamedWindowLock(java.lang.String windowName,
StatementAgentInstanceLock statementResourceLock,
java.lang.String statementName)
Sets the lock to use for a named window.
|
void |
addObserver(NamedWindowLifecycleObserver observer)
Add an observer to be called back when named window state changes occur.
|
NamedWindowProcessor |
addProcessor(java.lang.String name,
java.lang.String contextName,
boolean singleInstanceContext,
EventType eventType,
StatementResultService statementResultService,
ValueAddEventProcessor revisionProcessor,
java.lang.String eplExpression,
java.lang.String statementName,
boolean isPrioritized,
boolean isEnableSubqueryIndexShare,
boolean isBatchingDataWindow,
boolean isVirtualDataWindow,
StatementMetricHandle statementMetricHandle,
java.util.Set<java.lang.String> optionalUniqueKeyProps,
java.lang.String eventTypeAsName)
Create a new named window.
|
void |
destroy()
Clear out the service.
|
boolean |
dispatch(ExprEvaluatorContext exprEvaluatorContext)
Dispatch events of the insert and remove stream of named windows to consumers, as part of the
main event processing or dispatch loop.
|
IndexMultiKey[] |
getNamedWindowIndexes(java.lang.String windowName)
Returns an index descriptor array describing all available indexes for the named window.
|
StatementAgentInstanceLock |
getNamedWindowLock(java.lang.String windowName)
Returns the statement lock for the named window, to be shared with on-delete statements for the same named window.
|
java.lang.String[] |
getNamedWindows()
Returns the names of all named windows known.
|
NamedWindowProcessor |
getProcessor(java.lang.String name)
Returns the processing instance for a given named window.
|
boolean |
isNamedWindow(java.lang.String name)
Returns true to indicate that the name is a named window.
|
void |
removeNamedWindowLock(java.lang.String statementName)
Remove the lock associated to the named window.
|
void |
removeObserver(NamedWindowLifecycleObserver observer)
Remove an observer to be called back when named window state changes occur.
|
void |
removeProcessor(java.lang.String name)
Upon destroy of the named window creation statement, the named window processor must be removed.
|
static final java.lang.String ERROR_MSG_DATAWINDOWS
static final java.lang.String ERROR_MSG_NO_DATAWINDOW_ALLOWED
boolean isNamedWindow(java.lang.String name)
name
- is the window namejava.lang.String[] getNamedWindows()
NamedWindowProcessor addProcessor(java.lang.String name, java.lang.String contextName, boolean singleInstanceContext, EventType eventType, StatementResultService statementResultService, ValueAddEventProcessor revisionProcessor, java.lang.String eplExpression, java.lang.String statementName, boolean isPrioritized, boolean isEnableSubqueryIndexShare, boolean isBatchingDataWindow, boolean isVirtualDataWindow, StatementMetricHandle statementMetricHandle, java.util.Set<java.lang.String> optionalUniqueKeyProps, java.lang.String eventTypeAsName) throws ViewProcessingException
name
- window nameeventType
- the event type of the windowstatementResultService
- for coordinating on whether insert and remove stream events should be postedrevisionProcessor
- handles update eventseplExpression
- is the expressionstatementName
- the name of the statementisPrioritized
- if the engine is running with prioritized executionViewProcessingException
- if the named window already existsNamedWindowProcessor getProcessor(java.lang.String name)
name
- window namevoid removeProcessor(java.lang.String name)
name
- is the named window nameboolean dispatch(ExprEvaluatorContext exprEvaluatorContext)
exprEvaluatorContext
- context for expression evalauationvoid addDispatch(NamedWindowDeltaData delta, java.util.Map<EPStatementAgentInstanceHandle,java.util.List<NamedWindowConsumerView>> consumers)
delta
- is the result to dispatchconsumers
- is the destination of the dispatch, a map of statements to one or more consuming viewsStatementAgentInstanceLock getNamedWindowLock(java.lang.String windowName)
windowName
- is the window namevoid addNamedWindowLock(java.lang.String windowName, StatementAgentInstanceLock statementResourceLock, java.lang.String statementName)
windowName
- is the named window namestatementResourceLock
- is the statement lock for the create window statementstatementName
- the name of the statement that is the "create window"void removeNamedWindowLock(java.lang.String statementName)
statementName
- the name of the statement that is the "create window"void destroy()
void addObserver(NamedWindowLifecycleObserver observer)
Observers have set-semantics: the same Observer cannot be added twice
observer
- to addvoid removeObserver(NamedWindowLifecycleObserver observer)
observer
- to removeIndexMultiKey[] getNamedWindowIndexes(java.lang.String windowName)
windowName
- window name