Class AbstractProcessingUnitPersistenceImpl<T extends IProcessingUnitPersistence>
- java.lang.Object
-
- com.github.toolarium.processing.unit.base.AbstractProcessingUnitImpl
-
- com.github.toolarium.processing.unit.base.AbstractProcessingUnitPersistenceImpl<T>
-
- All Implemented Interfaces:
IProcessingUnit
- Direct Known Subclasses:
ParallelProcessingUnit,TestProcessingUnit
public abstract class AbstractProcessingUnitPersistenceImpl<T extends IProcessingUnitPersistence> extends AbstractProcessingUnitImpl
Abstract base implementation of theIProcessingUnitwhich supports own persistence class
-
-
Constructor Summary
Constructors Constructor Description AbstractProcessingUnitPersistenceImpl()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected TgetProcessingPersistence()Returns the processing persistence instanceprotected abstract TnewPersistenceInstance()Get a new persistence instanceprotected voidremovePersistenceInstance()Remove the persistence instancevoidresumeProcessing(IProcessingUnitProgress processingUnitProgress, IProcessingUnitPersistence processingPersistence)After suspending a processing unit can be resumed.IProcessingUnitPersistencesuspendProcessing()Suspends the processing: The processing is able to persist its state with the help of theIProcessingUnitPersistenceobject.-
Methods inherited from class com.github.toolarium.processing.unit.base.AbstractProcessingUnitImpl
estimateNumberOfUnitsToProcess, getObjectLockManager, getParameterDefinition, getParameterRuntime, getProcessingUnitContext, getProcessingUnitProgress, initialize, initializeParameterDefinition, onAborting, onEnding, processUnit, processUnit, releaseResource, setObjectLockManager, validateParameterList
-
-
-
-
Method Detail
-
newPersistenceInstance
protected abstract T newPersistenceInstance()
Get a new persistence instance- Returns:
- the persistence instance
-
getProcessingPersistence
protected T getProcessingPersistence()
Returns the processing persistence instance- Returns:
- the processing persistence instance
-
removePersistenceInstance
protected void removePersistenceInstance()
Remove the persistence instance
-
suspendProcessing
public IProcessingUnitPersistence suspendProcessing() throws ProcessingException
Description copied from interface:IProcessingUnitSuspends the processing: The processing is able to persist its state with the help of theIProcessingUnitPersistenceobject. On a resume this instance of theIProcessingUnitPersistencewill be returned (see method below). TheIProcessingUnitPersistencedon't need to contain any parameters or additional statuses. They are covered by the framework.- Specified by:
suspendProcessingin interfaceIProcessingUnit- Overrides:
suspendProcessingin classAbstractProcessingUnitImpl- Returns:
- the processing persistence which contains all information to resume processing later (see resumeProcessing).
- Throws:
ProcessingException- Throws this exception in case of while suspend the processing any failures occurs.- See Also:
AbstractProcessingUnitImpl.suspendProcessing()
-
resumeProcessing
public void resumeProcessing(IProcessingUnitProgress processingUnitProgress, IProcessingUnitPersistence processingPersistence) throws ProcessingException
Description copied from interface:IProcessingUnitAfter suspending a processing unit can be resumed. The parameter list of the initialization is passed as well theIProcessingUnitPersistencewhich was returned by the suspendProcessing method. The main purpose of this call is to set the processing persistence.- Specified by:
resumeProcessingin interfaceIProcessingUnit- Overrides:
resumeProcessingin classAbstractProcessingUnitImpl- Parameters:
processingUnitProgress- the processing unit progress of the processing unit before suspending.processingPersistence- the processing persistence to resume after suspending.- Throws:
ProcessingException- Throws this exception in case of while resume the processing any failures occurs.- See Also:
AbstractProcessingUnitImpl.resumeProcessing(com.github.toolarium.processing.unit.IProcessingUnitProgress, com.github.toolarium.processing.unit.IProcessingUnitPersistence)
-
-