org.apache.storm.streams.windowing

## Class SlidingWindows<L,I>

- java.lang.Object
- - org.apache.storm.streams.windowing.BaseWindow<L,I>
  - - org.apache.storm.streams.windowing.SlidingWindows<L,I>

- All Implemented Interfaces:
    Serializable, Window<L,I>

      public class SlidingWindows<L,I>
      extends BaseWindow<L,I>

  A sliding window specification based on a window length and sliding interval.

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.storm.streams.windowing.BaseWindow

      `lag, lateTupleStream, timestampField`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object o)`
    `I` | `getSlidingInterval()` The sliding interval of the window.
    `L` | `getWindowLength()` The length of the window.
    `int` | `hashCode()`
    `static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Count>` | `of(BaseWindowedBolt.Count windowLength, BaseWindowedBolt.Count slidingInterval)` Count based sliding window configuration.
    `static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Duration>` | `of(BaseWindowedBolt.Count windowLength, BaseWindowedBolt.Duration slidingInterval)` Tuple count and time duration based sliding window configuration.
    `static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Count>` | `of(BaseWindowedBolt.Duration windowLength, BaseWindowedBolt.Count slidingInterval)` Time duration and count based sliding window configuration.
    `static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Duration>` | `of(BaseWindowedBolt.Duration windowLength, BaseWindowedBolt.Duration slidingInterval)` Time duration based sliding window configuration.
    `SlidingWindows<L,I>` | `withLag(BaseWindowedBolt.Duration duration)` Specify the maximum time lag of the tuple timestamp in milliseconds.
    `SlidingWindows<L,I>` | `withLateTupleStream(String streamId)` Specify a stream id on which late tuples are going to be emitted.
    `SlidingWindows<L,I>` | `withTimestampField(String fieldName)` The name of the field in the tuple that contains the timestamp when the event occurred as a long value.

    - ### Methods inherited from class org.apache.storm.streams.windowing.BaseWindow

      `getLag, getLateTupleStream, getTimestampField`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### of

          public static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Count> of(BaseWindowedBolt.Count windowLength,
                                                                                         BaseWindowedBolt.Count slidingInterval)

      Count based sliding window configuration.

      Parameters:
        `windowLength` - the number of tuples in the window
        `slidingInterval` - the number of tuples after which the window slides

    - #### of

          public static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Duration> of(BaseWindowedBolt.Duration windowLength,
                                                                                               BaseWindowedBolt.Duration slidingInterval)

      Time duration based sliding window configuration.

      Parameters:
        `windowLength` - the time duration of the window
        `slidingInterval` - the time duration after which the window slides

    - #### of

          public static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Duration> of(BaseWindowedBolt.Count windowLength,
                                                                                            BaseWindowedBolt.Duration slidingInterval)

      Tuple count and time duration based sliding window configuration.

      Parameters:
        `windowLength` - the number of tuples in the window
        `slidingInterval` - the time duration after which the window slides

    - #### of

          public static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Count> of(BaseWindowedBolt.Duration windowLength,
                                                                                            BaseWindowedBolt.Count slidingInterval)

      Time duration and count based sliding window configuration.

      Parameters:
        `windowLength` - the time duration of the window
        `slidingInterval` - the number of tuples after which the window slides

    - #### getWindowLength

          public L getWindowLength()

      The length of the window.

      Returns:
        the window length

    - #### getSlidingInterval

          public I getSlidingInterval()

      The sliding interval of the window.

      Returns:
        the sliding interval

    - #### withTimestampField

          public SlidingWindows<L,I> withTimestampField(String fieldName)

      The name of the field in the tuple that contains the timestamp when the event occurred as a long value. This is used of event-time based processing. If this config is set and the field is not present in the incoming tuple, an `IllegalArgumentException` will be thrown.

      Parameters:
        `fieldName` - the name of the field that contains the timestamp

    - #### withLateTupleStream

          public SlidingWindows<L,I> withLateTupleStream(String streamId)

      Specify a stream id on which late tuples are going to be emitted. They are going to be accessible via the `WindowedBoltExecutor.LATE_TUPLE_FIELD` field. It must be defined on a per-component basis, and in conjunction with the `BaseWindowedBolt.withTimestampField(java.lang.String)`, otherwise `IllegalArgumentException` will be thrown.

      Parameters:
        `streamId` - the name of the stream used to emit late tuples on

    - #### withLag

          public SlidingWindows<L,I> withLag(BaseWindowedBolt.Duration duration)

      Specify the maximum time lag of the tuple timestamp in milliseconds. It means that the tuple timestamps cannot be out of order by more than this amount.

      Parameters:
        `duration` - the max lag duration

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `BaseWindow<L,I>`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `BaseWindow<L,I>`

Copyright © 2019 The Apache Software Foundation. All rights reserved.