Package org.springframework.batch.core.partition.support

# Class RemoteStepExecutionAggregator

java.lang.Object
org.springframework.batch.core.partition.support.RemoteStepExecutionAggregator

All Implemented Interfaces:
  `StepExecutionAggregator`, `org.springframework.beans.factory.InitializingBean`

public class RemoteStepExecutionAggregator extends Object implements StepExecutionAggregator, org.springframework.beans.factory.InitializingBean
Convenience class for aggregating a set of `StepExecution` instances when the input comes from remote steps, so the data need to be refreshed from the repository.

Since:
  2.1
Author:
  Dave Syer

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RemoteStepExecutionAggregator()`
  Create a new instance (useful for configuration purposes).
  `RemoteStepExecutionAggregator(JobExplorer jobExplorer)`
  Create a new instance with a job explorer that can be used to refresh the data when aggregating.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `afterPropertiesSet()`
  `void`
  `aggregate(StepExecution result, Collection<StepExecution> executions)`
  Aggregates the input executions into the result `StepExecution` delegating to the delegate aggregator once the input has been refreshed from the `JobExplorer`.
  `void`
  `setDelegate(StepExecutionAggregator delegate)`
  `void`
  `setJobExplorer(JobExplorer jobExplorer)`

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

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

- ## Constructor Details

  - ### RemoteStepExecutionAggregator

    public RemoteStepExecutionAggregator()
    Create a new instance (useful for configuration purposes).

  - ### RemoteStepExecutionAggregator

    public RemoteStepExecutionAggregator(JobExplorer jobExplorer)
    Create a new instance with a job explorer that can be used to refresh the data when aggregating.
    Parameters:
      `jobExplorer` - the `JobExplorer` to use

- ## Method Details

  - ### setJobExplorer

    public void setJobExplorer(JobExplorer jobExplorer)
    Parameters:
      `jobExplorer` - the jobExplorer to set

  - ### setDelegate

    public void setDelegate(StepExecutionAggregator delegate)
    Parameters:
      `delegate` - the delegate to set

  - ### afterPropertiesSet

    public void afterPropertiesSet() throws Exception
    Specified by:
      `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
    Throws:
      `Exception` - if the job explorer is not provided

  - ### aggregate

    public void aggregate(StepExecution result, Collection<StepExecution> executions)
    Aggregates the input executions into the result `StepExecution` delegating to the delegate aggregator once the input has been refreshed from the `JobExplorer`.
    Specified by:
      `aggregate` in interface `StepExecutionAggregator`
    Parameters:
      `result` - the result to overwrite
      `executions` - the inputs
    See Also:
      - `#aggregate(StepExecution, Collection)`