com.atlassian.jira.bc.workflow
Interface WorkflowSchemeService

All Known Implementing Classes:
DefaultWorkflowSchemeService

@ExperimentalApi
public interface WorkflowSchemeService


Method Summary
 AssignableWorkflowScheme.Builder assignableBuilder()
          Return a builder that can be used to create a AssignableWorkflowScheme.
 ServiceOutcome<DraftWorkflowScheme> createDraft(ApplicationUser creator, DraftWorkflowScheme draftWorkflowScheme)
          Create a draft workflow scheme.
 ServiceOutcome<DraftWorkflowScheme> createDraft(ApplicationUser creator, long parentId)
          Create a draft for the passed workflow scheme.
 ServiceOutcome<AssignableWorkflowScheme> createScheme(ApplicationUser creator, AssignableWorkflowScheme scheme)
          Create a new workflow scheme.
 ServiceOutcome<Void> deleteWorkflowScheme(ApplicationUser user, WorkflowScheme scheme)
          Delete the passed workflow scheme.
 DraftWorkflowScheme.Builder draftBuilder(AssignableWorkflowScheme parent)
          Return a builder that can be used to create a DraftWorkflowScheme for the passed workflow scheme.
 ServiceOutcome<DraftWorkflowScheme> getDraftWorkflowScheme(ApplicationUser user, AssignableWorkflowScheme parentScheme)
          Return draft of the passed workflow scheme if it actually exists.
 ServiceOutcome<DraftWorkflowScheme> getDraftWorkflowSchemeNotNull(ApplicationUser user, AssignableWorkflowScheme parentScheme)
          Return draft of the passed workflow scheme if it actually exists.
 ServiceOutcome<AssignableWorkflowScheme> getSchemeForProject(ApplicationUser user, Project project)
          Return the workflow scheme associated with passed project.
 int getUsageCount(AssignableWorkflowScheme assignableWorkflowScheme)
          Return the number of projects that use the passed scheme.
 ServiceOutcome<AssignableWorkflowScheme> getWorkflowScheme(ApplicationUser user, long id)
          Return the workflow scheme for the passed id.
 boolean isActive(WorkflowScheme workflowScheme)
          Is the passed workflow scheme being used by a project in JIRA.
 boolean isUsingDefaultScheme(Project project)
          Tells the caller if the passed project is using the default workflow scheme.
 ServiceOutcome<AssignableWorkflowScheme> updateWorkflowScheme(ApplicationUser user, AssignableWorkflowScheme scheme)
          Save changes to the passed workflow scheme.
 ServiceOutcome<DraftWorkflowScheme> updateWorkflowScheme(ApplicationUser user, DraftWorkflowScheme scheme)
          Save changes to the passed workflow scheme.
 ServiceOutcome<Void> validateUpdateWorkflowScheme(ApplicationUser user, AssignableWorkflowScheme scheme)
          Validate that the passed scheme can be saved.
 

Method Detail

assignableBuilder

AssignableWorkflowScheme.Builder assignableBuilder()
Return a builder that can be used to create a AssignableWorkflowScheme. The actual scheme will not be created in JIRA until the createScheme(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.workflow.AssignableWorkflowScheme) method is called.

Returns:
a builder that can be used to create a new AssignableWorkflowScheme.

draftBuilder

DraftWorkflowScheme.Builder draftBuilder(AssignableWorkflowScheme parent)
Return a builder that can be used to create a DraftWorkflowScheme for the passed workflow scheme. The actual scheme will not be created in JIRA until the createDraft(com.atlassian.jira.user.ApplicationUser, DraftWorkflowScheme) method is called.

Returns:
a builder that can be used to create a new DraftWorkflowScheme.

createScheme

@Nonnull
ServiceOutcome<AssignableWorkflowScheme> createScheme(ApplicationUser creator,
                                                              @Nonnull
                                                              AssignableWorkflowScheme scheme)
Create a new workflow scheme.

Parameters:
creator - the user creating the scheme.
scheme - the scheme to create.
Returns:
the result of the operation.

createDraft

ServiceOutcome<DraftWorkflowScheme> createDraft(ApplicationUser creator,
                                                long parentId)
Create a draft for the passed workflow scheme. To create a draft scheme the parent must be:
  1. Active: Used by a project.
  2. Draftless: The parent must not already has a draft workflow scheme.
  3. Not a draft

Parameters:
creator - the user creating the draft.
parentId - the workflow scheme to create a draft for.
Returns:
result containing the new draft scheme or any errors that occur.

createDraft

ServiceOutcome<DraftWorkflowScheme> createDraft(ApplicationUser creator,
                                                DraftWorkflowScheme draftWorkflowScheme)
Create a draft workflow scheme. The draft can be created using the builder returned from the draftBuilder(com.atlassian.jira.workflow.AssignableWorkflowScheme) method. To create a draft scheme the parent must be:
  1. Active: Used by a project.
  2. Draftless: The parent must not already has a draft workflow scheme.
  3. Not a draft

Parameters:
creator - the user creating the draft.
draftWorkflowScheme - the draft to create.
Returns:
result containing the new draft scheme or any errors that occur.

getWorkflowScheme

ServiceOutcome<AssignableWorkflowScheme> getWorkflowScheme(ApplicationUser user,
                                                           long id)
Return the workflow scheme for the passed id.

Parameters:
user - the user searching for the scheme.
id - the id of the workflow scheme to find.
Returns:
the result of the lookup.

getDraftWorkflowScheme

ServiceOutcome<DraftWorkflowScheme> getDraftWorkflowScheme(ApplicationUser user,
                                                           @Nonnull
                                                           AssignableWorkflowScheme parentScheme)
Return draft of the passed workflow scheme if it actually exists. A succesful outcome with null result will be returned if the draft does not exist.

Parameters:
user - the user making the request.
parentScheme - the workflow scheme whose draft we are searching for.
Returns:
the result. A succesful outcome with null result will be returned if the draft does not exist.

getDraftWorkflowSchemeNotNull

ServiceOutcome<DraftWorkflowScheme> getDraftWorkflowSchemeNotNull(ApplicationUser user,
                                                                  @Nonnull
                                                                  AssignableWorkflowScheme parentScheme)
Return draft of the passed workflow scheme if it actually exists. An unsuccessful outcome will be returned if the draft does not exist.

Parameters:
user - the user making the request.
parentScheme - the workflow scheme whose draft we are searching for.
Returns:
the result. An unsuccessful outcome will be returned if the draft does not exist.

deleteWorkflowScheme

ServiceOutcome<Void> deleteWorkflowScheme(ApplicationUser user,
                                          @Nonnull
                                          WorkflowScheme scheme)
Delete the passed workflow scheme. A workflow scheme can only be deleted if its a draft or its not active.

Parameters:
user - the user deleting the scheme.
scheme - the scheme.
Returns:
the result of the operation.

isActive

boolean isActive(WorkflowScheme workflowScheme)
Is the passed workflow scheme being used by a project in JIRA.

Parameters:
workflowScheme - the workflow scheme to test.
Returns:
true if the workflow scheme is being used false otherwise.

getSchemeForProject

ServiceOutcome<AssignableWorkflowScheme> getSchemeForProject(ApplicationUser user,
                                                             @Nonnull
                                                             Project project)
Return the workflow scheme associated with passed project.

Parameters:
project - the project.
Returns:
the result of the operation.

updateWorkflowScheme

ServiceOutcome<AssignableWorkflowScheme> updateWorkflowScheme(ApplicationUser user,
                                                              @Nonnull
                                                              AssignableWorkflowScheme scheme)
Save changes to the passed workflow scheme.

Parameters:
user - the user making the changes.
scheme - the scheme to change.
Returns:
the scheme as now stored in the database.

validateUpdateWorkflowScheme

ServiceOutcome<Void> validateUpdateWorkflowScheme(ApplicationUser user,
                                                  @Nonnull
                                                  AssignableWorkflowScheme scheme)
Validate that the passed scheme can be saved.

Parameters:
user - the user making the changes.
scheme - the scheme to change.
Returns:
the scheme as now stored in the database.

updateWorkflowScheme

ServiceOutcome<DraftWorkflowScheme> updateWorkflowScheme(ApplicationUser user,
                                                         @Nonnull
                                                         DraftWorkflowScheme scheme)
Save changes to the passed workflow scheme.

Parameters:
user - the user making the changes.
scheme - the scheme to change.
Returns:
the scheme as now stored in the database.

getUsageCount

int getUsageCount(@Nonnull
                  AssignableWorkflowScheme assignableWorkflowScheme)
Return the number of projects that use the passed scheme.

Parameters:
assignableWorkflowScheme - the scheme to check.
Returns:
the number of projects that use this scheme.

isUsingDefaultScheme

boolean isUsingDefaultScheme(@Nonnull
                             Project project)
Tells the caller if the passed project is using the default workflow scheme.

Parameters:
project - the project to check.
Returns:
true if the passed project is using the default scheme, false otherwise.


Copyright © 2002-2013 Atlassian. All Rights Reserved.