com.opensymphony.workflow.spi.hibernate
Class AbstractHibernateWorkflowStore

java.lang.Object
  extended by com.opensymphony.workflow.spi.hibernate.AbstractHibernateWorkflowStore
All Implemented Interfaces:
WorkflowStore
Direct Known Subclasses:
NewHibernateWorkflowStore, NewSpringHibernateWorkflowStore

public abstract class AbstractHibernateWorkflowStore
extends Object
implements WorkflowStore

Since:
2005-9-23
Author:
Luca Masini

Nested Class Summary
protected static interface AbstractHibernateWorkflowStore.InternalCallback
           
 
Constructor Summary
AbstractHibernateWorkflowStore()
           
 
Method Summary
 Step createCurrentStep(long entryId, int stepId, String owner, Date startDate, Date dueDate, String status, long[] previousIds)
          Persists a step with the given parameters.
 WorkflowEntry createEntry(String workflowName)
          Persists a new workflow entry that has not been initialized.
protected  void delete(Object entry)
           
protected abstract  Object execute(AbstractHibernateWorkflowStore.InternalCallback action)
           
 List findCurrentSteps(long entryId)
          Returns a list of all current steps for the given workflow instance ID.
 WorkflowEntry findEntry(long entryId)
          Pulls up the workflow entry data for the entry ID given.
 List findHistorySteps(long entryId)
          Returns a list of all steps that are finished for the given workflow instance ID.
protected  String getCacheRegion()
           
protected  net.sf.hibernate.expression.Criterion getExpression(WorkflowQuery query)
           
 com.opensymphony.module.propertyset.PropertySet getPropertySet(long entryId)
          Returns a PropertySet that is associated with this workflow instance ID.
 PropertySetDelegate getPropertySetDelegate()
           
protected  boolean isCacheable()
           
protected  HibernateWorkflowEntry loadEntry(long entryId)
           
 Step markFinished(Step step, int actionId, Date finishDate, String status, String caller)
          Mark the specified step as finished.
 void moveToHistory(Step step)
          Called when a step is finished and can be moved to workflow history.
 List query(WorkflowExpressionQuery query)
           
 List query(WorkflowQuery query)
           
protected  void save(Object entry)
           
 void setCacheable(boolean cacheable)
           
 void setCacheRegion(String cacheRegion)
           
 void setEntryState(long entryId, int state)
          Set the state of the workflow instance.
 void setPropertySetDelegate(PropertySetDelegate propertySetDelegate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.opensymphony.workflow.spi.WorkflowStore
init
 

Constructor Detail

AbstractHibernateWorkflowStore

public AbstractHibernateWorkflowStore()
Method Detail

setCacheRegion

public void setCacheRegion(String cacheRegion)

setCacheable

public void setCacheable(boolean cacheable)

setEntryState

public void setEntryState(long entryId,
                          int state)
                   throws StoreException
Description copied from interface: WorkflowStore
Set the state of the workflow instance.

Specified by:
setEntryState in interface WorkflowStore
Parameters:
entryId - The workflow instance id.
state - The state to move the workflow instance to.
Throws:
StoreException

getPropertySet

public com.opensymphony.module.propertyset.PropertySet getPropertySet(long entryId)
                                                               throws StoreException
Description copied from interface: WorkflowStore
Returns a PropertySet that is associated with this workflow instance ID.

Specified by:
getPropertySet in interface WorkflowStore
Parameters:
entryId - The workflow instance id.
Returns:
a property set unique to this entry ID
Throws:
StoreException

setPropertySetDelegate

public void setPropertySetDelegate(PropertySetDelegate propertySetDelegate)

getPropertySetDelegate

public PropertySetDelegate getPropertySetDelegate()

createCurrentStep

public Step createCurrentStep(long entryId,
                              int stepId,
                              String owner,
                              Date startDate,
                              Date dueDate,
                              String status,
                              long[] previousIds)
                       throws StoreException
Description copied from interface: WorkflowStore
Persists a step with the given parameters.

Specified by:
createCurrentStep in interface WorkflowStore
Parameters:
entryId - The workflow instance id.
stepId - the ID of the workflow step associated with this new Step (not to be confused with the step primary key)
owner - the owner of the step
startDate - the start date of the step
status - the status of the step
previousIds - the previous step IDs
Returns:
a representation of the workflow step persisted
Throws:
StoreException

createEntry

public WorkflowEntry createEntry(String workflowName)
                          throws StoreException
Description copied from interface: WorkflowStore
Persists a new workflow entry that has not been initialized.

Specified by:
createEntry in interface WorkflowStore
Parameters:
workflowName - the workflow name that this entry is an instance of
Returns:
a representation of the workflow instance persisted
Throws:
StoreException

findCurrentSteps

public List findCurrentSteps(long entryId)
                      throws StoreException
Description copied from interface: WorkflowStore
Returns a list of all current steps for the given workflow instance ID.

Specified by:
findCurrentSteps in interface WorkflowStore
Parameters:
entryId - The workflow instance id.
Returns:
a List of Steps
Throws:
StoreException
See Also:
Step

findEntry

public WorkflowEntry findEntry(long entryId)
                        throws StoreException
Description copied from interface: WorkflowStore
Pulls up the workflow entry data for the entry ID given.

Specified by:
findEntry in interface WorkflowStore
Parameters:
entryId - The workflow instance id.
Returns:
a representation of the workflow instance persisted
Throws:
StoreException

findHistorySteps

public List findHistorySteps(long entryId)
                      throws StoreException
Description copied from interface: WorkflowStore
Returns a list of all steps that are finished for the given workflow instance ID.

Specified by:
findHistorySteps in interface WorkflowStore
Parameters:
entryId - The workflow instance id.
Returns:
a List of Steps
Throws:
StoreException
See Also:
Step

markFinished

public Step markFinished(Step step,
                         int actionId,
                         Date finishDate,
                         String status,
                         String caller)
                  throws StoreException
Description copied from interface: WorkflowStore
Mark the specified step as finished.

Specified by:
markFinished in interface WorkflowStore
Parameters:
step - the step to finish.
actionId - The action that caused the step to finish.
finishDate - the date when the step was finished.
status - The status to set the finished step to.
caller - The caller that caused the step to finish.
Returns:
the finished step
Throws:
StoreException

moveToHistory

public void moveToHistory(Step step)
                   throws StoreException
Description copied from interface: WorkflowStore
Called when a step is finished and can be moved to workflow history.

Specified by:
moveToHistory in interface WorkflowStore
Parameters:
step - the step to be moved to workflow history
Throws:
StoreException

query

public List query(WorkflowQuery query)
           throws StoreException
Specified by:
query in interface WorkflowStore
Parameters:
query - the query to use
Returns:
a List of workflow instance ID's
Throws:
StoreException

query

public List query(WorkflowExpressionQuery query)
           throws StoreException
Specified by:
query in interface WorkflowStore
Parameters:
query - the query to use
Returns:
a List of workflow instance ID's
Throws:
StoreException

execute

protected abstract Object execute(AbstractHibernateWorkflowStore.InternalCallback action)
                           throws StoreException
Throws:
StoreException

getCacheRegion

protected String getCacheRegion()

isCacheable

protected boolean isCacheable()

getExpression

protected net.sf.hibernate.expression.Criterion getExpression(WorkflowQuery query)
                                                       throws StoreException
Throws:
StoreException

delete

protected void delete(Object entry)
               throws StoreException
Throws:
StoreException

loadEntry

protected HibernateWorkflowEntry loadEntry(long entryId)
                                    throws StoreException
Throws:
StoreException

save

protected void save(Object entry)
             throws StoreException
Throws:
StoreException

OpenSymphony Workflow Project Page