Class RepeatContextSupport
java.lang.Object
org.springframework.batch.repeat.context.SynchronizedAttributeAccessor
org.springframework.batch.repeat.context.RepeatContextSupport
- All Implemented Interfaces:
RepeatContext
,org.springframework.core.AttributeAccessor
- Direct Known Subclasses:
CompositeCompletionPolicy.CompositeBatchContext
,CountingCompletionPolicy.CountingBatchContext
,SimpleCompletionPolicy.SimpleTerminationContext
,TimeoutTerminationPolicy.TimeoutBatchContext
-
Constructor Summary
ConstructorDescriptionRepeatContextSupport
(RepeatContext parent) Constructor forRepeatContextSupport
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Allow resources to be cleared, especially in destruction callbacks.If batches are nested, then the inner batch will be created with the outer one as a parent.int
Public access to a counter for the number of operations attempted.void
Used by clients to increment the started count.boolean
Public accessor for the complete flag.boolean
Public accessor for the termination flag.void
registerDestructionCallback
(String name, Runnable callback) Register a callback to be executed on close, associated with the attribute having the given name.void
Signal to the framework that the current batch should complete normally, independent of the currentCompletionPolicy
.void
Signal to the framework that the current batch should complete abnormally, independent of the currentCompletionPolicy
.Methods inherited from class org.springframework.batch.repeat.context.SynchronizedAttributeAccessor
attributeNames, equals, getAttribute, hasAttribute, hashCode, removeAttribute, setAttribute, setAttributeIfAbsent, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.core.AttributeAccessor
attributeNames, computeAttribute, getAttribute, hasAttribute, removeAttribute, setAttribute
-
Constructor Details
-
RepeatContextSupport
Constructor forRepeatContextSupport
. The parent can be null, but should be set to the enclosing repeat context if there is one, e.g. if this context is an inner loop.- Parameters:
parent
-RepeatContext
to be used as the parent context.
-
-
Method Details
-
isCompleteOnly
public boolean isCompleteOnly()Description copied from interface:RepeatContext
Public accessor for the complete flag.- Specified by:
isCompleteOnly
in interfaceRepeatContext
- Returns:
- indicator if the repeat is complete
-
setCompleteOnly
public void setCompleteOnly()Description copied from interface:RepeatContext
Signal to the framework that the current batch should complete normally, independent of the currentCompletionPolicy
.- Specified by:
setCompleteOnly
in interfaceRepeatContext
-
isTerminateOnly
public boolean isTerminateOnly()Description copied from interface:RepeatContext
Public accessor for the termination flag. If this flag is set then the complete flag will also be.- Specified by:
isTerminateOnly
in interfaceRepeatContext
- Returns:
- indicates if the repeat should terminate
-
setTerminateOnly
public void setTerminateOnly()Description copied from interface:RepeatContext
Signal to the framework that the current batch should complete abnormally, independent of the currentCompletionPolicy
.- Specified by:
setTerminateOnly
in interfaceRepeatContext
-
getParent
Description copied from interface:RepeatContext
If batches are nested, then the inner batch will be created with the outer one as a parent. This is an accessor for the parent if it exists.- Specified by:
getParent
in interfaceRepeatContext
- Returns:
- the parent context or null if there is none
-
increment
public void increment()Used by clients to increment the started count. -
getStartedCount
public int getStartedCount()Description copied from interface:RepeatContext
Public access to a counter for the number of operations attempted.- Specified by:
getStartedCount
in interfaceRepeatContext
- Returns:
- the number of batch operations started.
-
registerDestructionCallback
Description copied from interface:RepeatContext
Register a callback to be executed on close, associated with the attribute having the given name. TheRunnable
callback should not throw any exceptions.- Specified by:
registerDestructionCallback
in interfaceRepeatContext
- Parameters:
name
- the name of the attribute to associated this callback with. If this attribute is removed the callback should never be called.callback
- aRunnable
to execute when the context is closed.
-
close
public void close()Description copied from interface:RepeatContext
Allow resources to be cleared, especially in destruction callbacks. Implementations should ensure that any registered destruction callbacks are executed here, as long as the corresponding attribute is still available.- Specified by:
close
in interfaceRepeatContext
-