Package org.springframework.batch.core.step.skip

# Class ExceptionClassifierSkipPolicy

java.lang.Object
org.springframework.batch.core.step.skip.ExceptionClassifierSkipPolicy

All Implemented Interfaces:
  `SkipPolicy`

public class ExceptionClassifierSkipPolicy extends Object implements SkipPolicy
A `SkipPolicy` that depends on an exception classifier to make its decision, and then delegates to the classifier result.

Author:
  Dave Syer, Mahmoud Ben Hassine
See Also:
  - `SubclassClassifier`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExceptionClassifierSkipPolicy()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `setExceptionClassifier(org.springframework.classify.SubclassClassifier<Throwable,SkipPolicy> classifier)`
  The classifier that will be used to choose a delegate policy.
  `void`
  `setPolicyMap(Map<Class<? extends Throwable>,SkipPolicy> policyMap)`
  Setter for policy map.
  `boolean`
  `shouldSkip(Throwable t, long skipCount)`
  Consult the classifier and find a delegate policy, and then use that to determine the outcome.

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

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

- ## Constructor Details

  - ### ExceptionClassifierSkipPolicy

    public ExceptionClassifierSkipPolicy()

- ## Method Details

  - ### setExceptionClassifier

    public void setExceptionClassifier(org.springframework.classify.SubclassClassifier<Throwable,SkipPolicy> classifier)
    The classifier that will be used to choose a delegate policy.
    Parameters:
      `classifier` - the classifier to use to choose a delegate policy

  - ### setPolicyMap

    public void setPolicyMap(Map<Class<? extends Throwable>,SkipPolicy> policyMap)
    Setter for policy map. This property should not be changed dynamically - set it once, e.g. in configuration, and then don't change it during a running application. Either this property or the exception classifier directly should be set, but not both.
    Parameters:
      `policyMap` - a map of String to `SkipPolicy` that will be used to create a `Classifier` to locate a policy.

  - ### shouldSkip

    public boolean shouldSkip(Throwable t, long skipCount) throws SkipLimitExceededException
    Consult the classifier and find a delegate policy, and then use that to determine the outcome.
    Specified by:
      `shouldSkip` in interface `SkipPolicy`
    Parameters:
      `t` - the throwable to consider
      `skipCount` - the current skip count
    Returns:
      true if the exception can be skipped
    Throws:
      `SkipLimitExceededException` - if a limit is exceeded