Class OnExprViewNameWindowBase

java.lang.Object
com.espertech.esper.common.internal.view.core.ViewSupport
com.espertech.esper.common.internal.epl.ontrigger.OnExprViewNameWindowBase
All Implemented Interfaces:
View, Viewable, Iterable<EventBean>
Direct Known Subclasses:
OnExprViewNamedWindowDelete, OnExprViewNamedWindowMerge, OnExprViewNamedWindowSelect, OnExprViewNamedWindowUpdate

public abstract class OnExprViewNameWindowBase extends ViewSupport
View for the on-delete statement that handles removing events from a named window.
  • Field Details

  • Constructor Details

    • OnExprViewNameWindowBase

      public OnExprViewNameWindowBase(SubordWMatchExprLookupStrategy lookupStrategy, NamedWindowRootViewInstance rootView, AgentInstanceContext agentInstanceContext)
      Ctor.
      Parameters:
      lookupStrategy - for handling trigger events to determine deleted events
      rootView - to indicate which events to delete
      agentInstanceContext - context for expression evalauation
  • Method Details

    • handleMatching

      public abstract void handleMatching(EventBean[] triggerEvents, EventBean[] matchingEvents)
      Implemented by on-trigger views to action on the combination of trigger and matching events in the named window.
      Parameters:
      triggerEvents - is the trigger events (usually 1)
      matchingEvents - is the matching events retrieved via lookup strategy
    • update

      public void update(EventBean[] newData, EventBean[] oldData)
      Description copied from interface: View
      Notify that data has been added or removed from the Viewable parent. The last object in the newData array of objects would be the newest object added to the parent view. The first object of the oldData array of objects would be the oldest object removed from the parent view.

      If the call to update contains new (inserted) data, then the first argument will be a non-empty list and the second will be empty. Similarly, if the call is a notification of deleted data, then the first argument will be empty and the second will be non-empty. Either the newData or oldData will be non-null. This method won't be called with both arguments being null, but either one could be null. The same is true for zero-length arrays. Either newData or oldData will be non-empty. If both are non-empty, then the update is a modification notification.

      When update() is called on a view by the parent object, the data in newData will be in the collection of the parent, and its data structures will be arranged to reflect that. The data in oldData will not be in the parent's data structures, and any access to the parent will indicate that that data is no longer there.

      Parameters:
      newData - is the new data that has been added to the parent view
      oldData - is the old data that has been removed from the parent view
    • getExprEvaluatorContext

      public ExprEvaluatorContext getExprEvaluatorContext()
      returns expr context.
      Returns:
      context