com.webhydra.slug.process
Class SluggishProcess

java.lang.Object
  extended by com.webhydra.slug.process.SluggishProcess
All Implemented Interfaces:
java.lang.Runnable

public abstract class SluggishProcess
extends java.lang.Object
implements java.lang.Runnable

SluggishProcess - Extend this process and implement its execute() method in order to implement a SluggishProcess.

Author:
rossen

Constructor Summary
SluggishProcess()
           
 
Method Summary
 void cancel()
          Iteaction point allowing cancelation of a process.
abstract  ProcessStatus execute()
          Application defined method responsible for the long lasting action or series of actions.
 ProcessStatus getProcessStatus()
          Getter for property status.
 ProcessStatus postExecute()
          Provides post execution hook for process customization.
 ProcessStatus preExecute()
          Provides pre execution hook for process customization.
 void run()
          Interface implementation.
 void setProcessStatus(ProcessStatus status)
          Setter for property status.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SluggishProcess

public SluggishProcess()
Method Detail

getProcessStatus

public ProcessStatus getProcessStatus()
Getter for property status.

Returns:
Value of property status.

setProcessStatus

public void setProcessStatus(ProcessStatus status)
Setter for property status.

Parameters:
status - New value of property status.

run

public void run()
Interface implementation.

Specified by:
run in interface java.lang.Runnable

execute

public abstract ProcessStatus execute()
                               throws java.lang.Exception
Application defined method responsible for the long lasting action or series of actions.

Returns:
Updated ProcessStatus
Throws:
java.lang.Exception - arbitrary exception.

cancel

public void cancel()
Iteaction point allowing cancelation of a process. Default implementation only changes PoressStaus property. Override this methid if you can provide real process interruption and cancelation.


preExecute

public ProcessStatus preExecute()
Provides pre execution hook for process customization. Default implementation only changes ProcessStatus to Status.RUNNING

Returns:
Returns updated ProcessStatus.

postExecute

public ProcessStatus postExecute()
Provides post execution hook for process customization. Default implementation only changes ProcessStatus to Status.COMPLETED if curren status is Status.RUNNING. Any other status is preserved unchanged.

Returns:
Updated PorcessStatus