Package org.springframework.batch.repeat.support

# Class RepeatSynchronizationManager

java.lang.Object
org.springframework.batch.repeat.support.RepeatSynchronizationManager

public final class RepeatSynchronizationManager extends Object
Global variable support for repeat clients. Normally it is not necessary for clients to be aware of the surrounding environment because a `RepeatCallback` can always use the context it is passed by the enclosing `RepeatOperations`. But occasionally it might be helpful to have lower level access to the ongoing `RepeatContext` so we provide a global accessor here. The mutator methods (`clear()` and `register(RepeatContext)` should not be used except internally by `RepeatOperations` implementations.

Author:
  Dave Syer

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static RepeatContext`
  `clear()`
  Clear the current context at the end of a batch - should only be used by `RepeatOperations` implementations.
  `static RepeatContext`
  `getContext()`
  Getter for the current context.
  `static RepeatContext`
  `register(RepeatContext context)`
  Method for registering a context - should only be used by `RepeatOperations` implementations to ensure that `getContext()` always returns the correct value.
  `static void`
  `setAncestorsCompleteOnly()`
  Set current session and all ancestors (via parent) to complete.,
  `static void`
  `setCompleteOnly()`
  Convenience method to set the current repeat operation to complete if it exists.

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

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

- ## Method Details

  - ### getContext

    public static RepeatContext getContext()
    Getter for the current context. A context is shared by all items in the batch, so this method is intended to return the same context object independent of whether the callback is running synchronously or asynchronously with the surrounding `RepeatOperations`.
    Returns:
      the current `RepeatContext` or null if there is none (if we are not in a batch).

  - ### setCompleteOnly

    public static void setCompleteOnly()
    Convenience method to set the current repeat operation to complete if it exists.

  - ### register

    public static RepeatContext register(RepeatContext context)
    Method for registering a context - should only be used by `RepeatOperations` implementations to ensure that `getContext()` always returns the correct value.
    Parameters:
      `context` - a new context at the start of a batch.
    Returns:
      the old value if there was one.

  - ### clear

    public static RepeatContext clear()
    Clear the current context at the end of a batch - should only be used by `RepeatOperations` implementations.
    Returns:
      the old value if there was one.

  - ### setAncestorsCompleteOnly

    public static void setAncestorsCompleteOnly()
    Set current session and all ancestors (via parent) to complete.,