com.atlassian.jira.workflow
Class AbstractJiraWorkflow

java.lang.Object
  extended by com.atlassian.jira.workflow.AbstractJiraWorkflow
All Implemented Interfaces:
JiraWorkflow, Comparable<JiraWorkflow>
Direct Known Subclasses:
ConfigurableJiraWorkflow, DefaultJiraWorkflow, JiraDraftWorkflow

public abstract class AbstractJiraWorkflow
extends Object
implements JiraWorkflow


Field Summary
protected  WorkflowManager workflowManager
           
 
Fields inherited from interface com.atlassian.jira.workflow.JiraWorkflow
ACTION_ORIGIN_STEP_ID, ACTION_TYPE_ALL, ACTION_TYPE_COMMON, ACTION_TYPE_GLOBAL, ACTION_TYPE_INITIAL, ACTION_TYPE_ORDINARY, DEFAULT_WORKFLOW_NAME, DRAFT, JIRA_META_ATTRIBUTE_ALLOWED_LIST, JIRA_META_ATTRIBUTE_EDIT_ALLOWED, JIRA_META_ATTRIBUTE_EXCLUDE_RESOLUTION, JIRA_META_ATTRIBUTE_I18N, JIRA_META_ATTRIBUTE_I18N_SUBMIT, JIRA_META_ATTRIBUTE_INCLUDE_RESOLUTION, JIRA_META_ATTRIBUTE_KEY_PREFIX, JIRA_META_ATTRIBUTE_PERMISSION, JIRA_META_UPDATE_AUTHOR_KEY, JIRA_META_UPDATE_AUTHOR_NAME, JIRA_META_UPDATED_DATE, LIVE, STEP_STATUS_KEY, WORKFLOW_DESCRIPTION_ATTRIBUTE, WORKFLOW_VIEW_FIELDLAYOUT_KEY_ATTRIBUTE
 
Constructor Summary
protected AbstractJiraWorkflow(WorkflowManager workflowManager, com.opensymphony.workflow.loader.WorkflowDescriptor workflowDescriptor)
           
 
Method Summary
 int compareTo(JiraWorkflow o)
           
 boolean equals(Object o)
           
 Collection<com.opensymphony.workflow.loader.ActionDescriptor> getActionsForScreen(FieldScreen fieldScreen)
           
 Collection<com.opensymphony.workflow.loader.ActionDescriptor> getActionsWithResult(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
          Get all the actions which have a particular step as their unconditional result.
 String getActionType(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
           
 Collection<com.opensymphony.workflow.loader.ActionDescriptor> getAllActions()
          Get all the actions in this workflow, global, common and from steps.
 String getDescription()
           
 com.opensymphony.workflow.loader.WorkflowDescriptor getDescriptor()
           
 String getDisplayName()
           
 org.ofbiz.core.entity.GenericValue getLinkedStatus(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
          Get the Status associated with the given StepDescriptor.
 List getLinkedStatuses()
          Returns all statuses for this workflow
 Status getLinkedStatusObject(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
          Get the Status associated with the given StepDescriptor.
 List getLinkedStatusObjects()
          Returns all statuses for this workflow
 com.opensymphony.workflow.loader.StepDescriptor getLinkedStep(org.ofbiz.core.entity.GenericValue status)
          Get the StepDescriptor linked to the given status for this workflow.
 com.opensymphony.workflow.loader.StepDescriptor getLinkedStep(Status status)
          Get the StepDescriptor linked to the given status for this workflow.
 String getMode()
          Returns either JiraWorkflow.DRAFT or JiraWorkflow.LIVE depending on the workflow implementation.
abstract  String getName()
           
 int getNextActionId()
          Get the next available action id
 Collection<com.opensymphony.workflow.loader.FunctionDescriptor> getPostFunctionsForTransition(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
          Returns all post-functions of the transition, including the ones on all conditional results, unconditional results and 'global' (non-result) postfunctions.
 Collection getStepsForTransition(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
          Returns a collection of all step descriptors that reference the given common action.
 Collection getStepsWithAction(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
           
 ApplicationUser getUpdateAuthor()
          Returns the most recent author
 String getUpdateAuthorName()
          Returns the most recent authors username.
 Date getUpdatedDate()
          Returns the date of the most recent update to this workflow.
 boolean hasDraftWorkflow()
          Determines if this workflow has a draft edit copy.
 int hashCode()
           
 boolean isActive()
          Determine whether this workflow object is currently active.
 boolean isCommonAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
           
 boolean isDefault()
          Determines if the workflow is the default JIRA workflow
 boolean isEditable()
          Determines if the workflow can be modifed within JIRA.
 boolean isGlobalAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
           
 boolean isInitialAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
           
 boolean isOrdinaryAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
           
 boolean isSystemWorkflow()
          Determines if the workflow is loaded from XML or the database
 boolean removeStep(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
          Remove a step from the workflow.
 void reset()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.atlassian.jira.workflow.JiraWorkflow
isDraftWorkflow
 

Field Detail

workflowManager

protected final WorkflowManager workflowManager
Constructor Detail

AbstractJiraWorkflow

protected AbstractJiraWorkflow(WorkflowManager workflowManager,
                               com.opensymphony.workflow.loader.WorkflowDescriptor workflowDescriptor)
Method Detail

getName

public abstract String getName()
Specified by:
getName in interface JiraWorkflow

getDescription

public String getDescription()
Specified by:
getDescription in interface JiraWorkflow

getDisplayName

public String getDisplayName()
Specified by:
getDisplayName in interface JiraWorkflow

getDescriptor

public com.opensymphony.workflow.loader.WorkflowDescriptor getDescriptor()
Specified by:
getDescriptor in interface JiraWorkflow

getAllActions

public Collection<com.opensymphony.workflow.loader.ActionDescriptor> getAllActions()
Description copied from interface: JiraWorkflow
Get all the actions in this workflow, global, common and from steps.

Specified by:
getAllActions in interface JiraWorkflow
Returns:
A collection of ActionDescriptors.

getNextActionId

public int getNextActionId()
Description copied from interface: JiraWorkflow
Get the next available action id

Specified by:
getNextActionId in interface JiraWorkflow
Returns:
The next available action id.

getActionsWithResult

public Collection<com.opensymphony.workflow.loader.ActionDescriptor> getActionsWithResult(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
Description copied from interface: JiraWorkflow
Get all the actions which have a particular step as their unconditional result.

Specified by:
getActionsWithResult in interface JiraWorkflow
Returns:
all the actions which have a particular step as their unconditional result.

getStepsWithAction

public Collection getStepsWithAction(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)

removeStep

public boolean removeStep(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
Description copied from interface: JiraWorkflow
Remove a step from the workflow.

This method will also remove all actions with this step ID as their unconditional result.

Specified by:
removeStep in interface JiraWorkflow
Returns:
true if the remove was successful

getLinkedStep

public com.opensymphony.workflow.loader.StepDescriptor getLinkedStep(org.ofbiz.core.entity.GenericValue status)
Description copied from interface: JiraWorkflow
Get the StepDescriptor linked to the given status for this workflow.

Specified by:
getLinkedStep in interface JiraWorkflow
Parameters:
status - the Status
Returns:
The StepDescriptor linked, or null if no steps are linked to this status.

getLinkedStep

public com.opensymphony.workflow.loader.StepDescriptor getLinkedStep(Status status)
Description copied from interface: JiraWorkflow
Get the StepDescriptor linked to the given status for this workflow.

Specified by:
getLinkedStep in interface JiraWorkflow
Parameters:
status - the Status
Returns:
The StepDescriptor linked, or null if no steps are linked to this status.

getLinkedStatus

public org.ofbiz.core.entity.GenericValue getLinkedStatus(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
Description copied from interface: JiraWorkflow
Get the Status associated with the given StepDescriptor.

Specified by:
getLinkedStatus in interface JiraWorkflow
Parameters:
stepDescriptor - the StepDescriptor
Returns:
the Status associated with the given StepDescriptor.

getLinkedStatusObject

public Status getLinkedStatusObject(com.opensymphony.workflow.loader.StepDescriptor stepDescriptor)
Description copied from interface: JiraWorkflow
Get the Status associated with the given StepDescriptor.

Specified by:
getLinkedStatusObject in interface JiraWorkflow
Parameters:
stepDescriptor - the StepDescriptor
Returns:
the Status associated with the given StepDescriptor.

getLinkedStatuses

public List getLinkedStatuses()
Description copied from interface: JiraWorkflow
Returns all statuses for this workflow

Specified by:
getLinkedStatuses in interface JiraWorkflow
Returns:
a List of GenericValue

getLinkedStatusObjects

public List getLinkedStatusObjects()
Description copied from interface: JiraWorkflow
Returns all statuses for this workflow

Specified by:
getLinkedStatusObjects in interface JiraWorkflow
Returns:
a List of Status objects

getStepsForTransition

public Collection getStepsForTransition(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Description copied from interface: JiraWorkflow
Returns a collection of all step descriptors that reference the given common action.

Specified by:
getStepsForTransition in interface JiraWorkflow
Returns:
a collection of all step descriptors that reference the given common action.

getPostFunctionsForTransition

public Collection<com.opensymphony.workflow.loader.FunctionDescriptor> getPostFunctionsForTransition(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Description copied from interface: JiraWorkflow
Returns all post-functions of the transition, including the ones on all conditional results, unconditional results and 'global' (non-result) postfunctions.

Specified by:
getPostFunctionsForTransition in interface JiraWorkflow
Returns:
all post-functions of the transition, including the ones on all conditional results, unconditional results and 'global' (non-result) postfunctions.

isActive

public boolean isActive()
                 throws WorkflowException
Description copied from interface: JiraWorkflow
Determine whether this workflow object is currently active.

Specified by:
isActive in interface JiraWorkflow
Returns:
true if this workflow object is active.
Throws:
WorkflowException - Runtime Exception indicating a problem in the WorkflowManager.

isSystemWorkflow

public boolean isSystemWorkflow()
                         throws WorkflowException
Description copied from interface: JiraWorkflow
Determines if the workflow is loaded from XML or the database

Specified by:
isSystemWorkflow in interface JiraWorkflow
Returns:
true if this workflow object is the uneditable system workflow.
Throws:
WorkflowException - Runtime Exception indicating a problem in the WorkflowManager.

isEditable

public boolean isEditable()
                   throws WorkflowException
Description copied from interface: JiraWorkflow
Determines if the workflow can be modifed within JIRA.

System workflows are never editable. The "published" version of an active workflow is not editable, but the draft version is. Inactive workflows are editable.

Specified by:
isEditable in interface JiraWorkflow
Returns:
true if this workflow is editable.
Throws:
WorkflowException - Runtime Exception indicating a problem in the WorkflowManager.

isDefault

public boolean isDefault()
Description copied from interface: JiraWorkflow
Determines if the workflow is the default JIRA workflow

Specified by:
isDefault in interface JiraWorkflow
Returns:
true if this is the workflow is the default JIRA workflow.

isInitialAction

public boolean isInitialAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Specified by:
isInitialAction in interface JiraWorkflow

isCommonAction

public boolean isCommonAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Specified by:
isCommonAction in interface JiraWorkflow

isGlobalAction

public boolean isGlobalAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Specified by:
isGlobalAction in interface JiraWorkflow

isOrdinaryAction

public boolean isOrdinaryAction(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Specified by:
isOrdinaryAction in interface JiraWorkflow

getActionType

public String getActionType(com.opensymphony.workflow.loader.ActionDescriptor actionDescriptor)
Specified by:
getActionType in interface JiraWorkflow

reset

public void reset()
Specified by:
reset in interface JiraWorkflow

getActionsForScreen

public Collection<com.opensymphony.workflow.loader.ActionDescriptor> getActionsForScreen(FieldScreen fieldScreen)
Specified by:
getActionsForScreen in interface JiraWorkflow

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

compareTo

public int compareTo(JiraWorkflow o)
Specified by:
compareTo in interface Comparable<JiraWorkflow>

getUpdateAuthorName

public String getUpdateAuthorName()
Description copied from interface: JiraWorkflow
Returns the most recent authors username.

Specified by:
getUpdateAuthorName in interface JiraWorkflow
Returns:
Returns the authors username

getUpdateAuthor

public ApplicationUser getUpdateAuthor()
Description copied from interface: JiraWorkflow
Returns the most recent author

Notice: This method will also return proxy user even when is not existing. Please use UserManager.isUserExisting(com.atlassian.jira.user.ApplicationUser) if you want to check user's existence.

Specified by:
getUpdateAuthor in interface JiraWorkflow
Returns:
The update author.

getUpdatedDate

public Date getUpdatedDate()
Description copied from interface: JiraWorkflow
Returns the date of the most recent update to this workflow.

Specified by:
getUpdatedDate in interface JiraWorkflow
Returns:
date of the most recent update to this workflow

hasDraftWorkflow

public boolean hasDraftWorkflow()
Description copied from interface: JiraWorkflow
Determines if this workflow has a draft edit copy.

Specified by:
hasDraftWorkflow in interface JiraWorkflow
Returns:
true if this workflow has a draft edit copy.

getMode

public String getMode()
Description copied from interface: JiraWorkflow
Returns either JiraWorkflow.DRAFT or JiraWorkflow.LIVE depending on the workflow implementation.

Specified by:
getMode in interface JiraWorkflow
Returns:
JiraWorkflow.DRAFT or JiraWorkflow.LIVE


Copyright © 2002-2013 Atlassian. All Rights Reserved.