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
public class RepeatContextSupport extends SynchronizedAttributeAccessor implements RepeatContext
Constructor Summary
Constructors Constructor Description RepeatContextSupport(RepeatContext parent)
Constructor forRepeatContextSupport
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Allow resources to be cleared, especially in destruction callbacks.RepeatContext
getParent()
If batches are nested, then the inner batch will be created with the outer one as a parent.int
getStartedCount()
Public access to a counter for the number of operations attempted.void
increment()
Used by clients to increment the started count.boolean
isCompleteOnly()
Public accessor for the complete flag.boolean
isTerminateOnly()
Public accessor for the termination flag.void
registerDestructionCallback(java.lang.String name, java.lang.Runnable callback)
Register a callback to be executed on close, associated with the attribute having the given name.void
setCompleteOnly()
Signal to the framework that the current batch should complete normally, independent of the currentCompletionPolicy
.void
setTerminateOnly()
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
Constructor Detail
RepeatContextSupport
public RepeatContextSupport(RepeatContext parent)
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 Detail
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
public RepeatContext 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
public void registerDestructionCallback(java.lang.String name, java.lang.Runnable callback)
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