Interface Trigger.TriggerContext

All Known Subinterfaces:
Trigger.OnMergeContext
All Known Implementing Classes:
WindowOperator.Context
Enclosing class:
Trigger<T,W extends Window>

public static interface Trigger.TriggerContext
A context object that is given to Trigger methods to allow them to register timer callbacks and deal with state.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Delete the event-time trigger for the given time.
    void
    Delete the processing time trigger for the given time.
    long
    Returns the current processing time.
    long
    Returns the current watermark time.
    org.apache.flink.metrics.MetricGroup
    Returns the metric group for this Trigger.
    <S extends org.apache.flink.api.common.state.State>
    S
    getPartitionedState(org.apache.flink.api.common.state.StateDescriptor<S,?> stateDescriptor)
    Retrieves a State object that can be used to interact with fault-tolerant state that is scoped to the window and key of the current trigger invocation.
    void
    Register an event-time callback.
    void
    Register a system time callback.
  • Method Details

    • getCurrentProcessingTime

      long getCurrentProcessingTime()
      Returns the current processing time.
    • getMetricGroup

      org.apache.flink.metrics.MetricGroup getMetricGroup()
      Returns the metric group for this Trigger. This is the same metric group that would be returned from RuntimeContext.getMetricGroup() in a user function.

      You must not call methods that create metric objects (such as MetricGroup.counter(int) multiple times but instead call once and store the metric object in a field.

    • getCurrentWatermark

      long getCurrentWatermark()
      Returns the current watermark time.
    • registerProcessingTimeTimer

      void registerProcessingTimeTimer(long time)
      Register a system time callback. When the current system time passes the specified time Trigger.onProcessingTime(long, Window, TriggerContext) is called with the time specified here.
      Parameters:
      time - The time at which to invoke Trigger.onProcessingTime(long, Window, TriggerContext)
    • registerEventTimeTimer

      void registerEventTimeTimer(long time)
      Register an event-time callback. When the current watermark passes the specified time Trigger.onEventTime(long, Window, TriggerContext) is called with the time specified here.
      Parameters:
      time - The watermark at which to invoke Trigger.onEventTime(long, Window, TriggerContext)
      See Also:
    • deleteProcessingTimeTimer

      void deleteProcessingTimeTimer(long time)
      Delete the processing time trigger for the given time.
    • deleteEventTimeTimer

      void deleteEventTimeTimer(long time)
      Delete the event-time trigger for the given time.
    • getPartitionedState

      <S extends org.apache.flink.api.common.state.State> S getPartitionedState(org.apache.flink.api.common.state.StateDescriptor<S,?> stateDescriptor)
      Retrieves a State object that can be used to interact with fault-tolerant state that is scoped to the window and key of the current trigger invocation.
      Type Parameters:
      S - The type of the state.
      Parameters:
      stateDescriptor - The StateDescriptor that contains the name and type of the state that is being accessed.
      Returns:
      The partitioned state object.
      Throws:
      UnsupportedOperationException - Thrown, if no partitioned state is available for the function (function is not part os a KeyedStream).