Package org.apache.storm.hdfs.trident.rotation

## Interface FileRotationPolicy

- All Superinterfaces:
    `Serializable`
  All Known Implementing Classes:
    `FileSizeRotationPolicy`, `NoRotationPolicy`, `TimedRotationPolicy`

      public interface FileRotationPolicy
      extends Serializable

  Used by the HdfsBolt to decide when to rotate files.

  The HdfsBolt will call the `mark()` method for every tuple received. If the `mark()` method returns `true` the HdfsBolt will perform a file rotation.

  After file rotation, the HdfsBolt will call the `reset()` method.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `mark​(long offset)` | Check if a file rotation should be performed based on the offset at which file is being written.
    `boolean` | `mark​(TridentTuple tuple, long offset)` | Called for every tuple the HdfsBolt executes.
    `void` | `reset()` | Called after the HdfsBolt rotates a file.
    `void` | `start()` | Start the policy.

- - ### Method Detail

    - #### mark

          boolean mark​(TridentTuple tuple,
                       long offset)

      Called for every tuple the HdfsBolt executes.
      Parameters:
        `tuple` - The tuple executed.
        `offset` - current offset of file being written
      Returns:
        true if a file rotation should be performed

    - #### mark

          boolean mark​(long offset)

      Check if a file rotation should be performed based on the offset at which file is being written.
      Parameters:
        `offset` - the current offset of file being written
      Returns:
        true if a file rotation should be performed.

    - #### reset

          void reset()

      Called after the HdfsBolt rotates a file.

    - #### start

          void start()

      Start the policy. Useful in case of policies like timed rotation where the timer can be started.