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 voidclose()Allow resources to be cleared, especially in destruction callbacks.RepeatContextgetParent()If batches are nested, then the inner batch will be created with the outer one as a parent.intgetStartedCount()Public access to a counter for the number of operations attempted.voidincrement()Used by clients to increment the started count.booleanisCompleteOnly()Public accessor for the complete flag.booleanisTerminateOnly()Public accessor for the termination flag.voidregisterDestructionCallback(java.lang.String name, java.lang.Runnable callback)Register a callback to be executed on close, associated with the attribute having the given name.voidsetCompleteOnly()Signal to the framework that the current batch should complete normally, independent of the currentCompletionPolicy.voidsetTerminateOnly()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-RepeatContextto be used as the parent context.
Method Detail
isCompleteOnly
public boolean isCompleteOnly()
Description copied from interface:RepeatContextPublic accessor for the complete flag.- Specified by:
isCompleteOnlyin interfaceRepeatContext- Returns:
- indicator if the repeat is complete
setCompleteOnly
public void setCompleteOnly()
Description copied from interface:RepeatContextSignal to the framework that the current batch should complete normally, independent of the currentCompletionPolicy.- Specified by:
setCompleteOnlyin interfaceRepeatContext
isTerminateOnly
public boolean isTerminateOnly()
Description copied from interface:RepeatContextPublic accessor for the termination flag. If this flag is set then the complete flag will also be.- Specified by:
isTerminateOnlyin interfaceRepeatContext- Returns:
- indicates if the repeat should terminate
setTerminateOnly
public void setTerminateOnly()
Description copied from interface:RepeatContextSignal to the framework that the current batch should complete abnormally, independent of the currentCompletionPolicy.- Specified by:
setTerminateOnlyin interfaceRepeatContext
getParent
public RepeatContext getParent()
Description copied from interface:RepeatContextIf 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:
getParentin 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:RepeatContextPublic access to a counter for the number of operations attempted.- Specified by:
getStartedCountin interfaceRepeatContext- Returns:
- the number of batch operations started.
registerDestructionCallback
public void registerDestructionCallback(java.lang.String name, java.lang.Runnable callback)Description copied from interface:RepeatContextRegister a callback to be executed on close, associated with the attribute having the given name. TheRunnablecallback should not throw any exceptions.- Specified by:
registerDestructionCallbackin 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- aRunnableto execute when the context is closed.
close
public void close()
Description copied from interface:RepeatContextAllow 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:
closein interfaceRepeatContext