Class AbstractWorkflowPluginFactory

java.lang.Object
com.atlassian.jira.plugin.workflow.AbstractWorkflowPluginFactory
All Implemented Interfaces:
WorkflowPluginFactory
Direct Known Subclasses:
AbstractWorkflowPermissionPluginFactory, ReferenceWorkflowModuleFactory, TriggerWebHookFunctionPluginFactory, UpdateIssueFieldFunctionPluginFactory, WorkflowAlwaysFalseConditionFactoryImpl, WorkflowChangeHistoryFunctionPluginFactory, WorkflowFireIssueEventFunctionPluginFactory, WorkflowIsUserInGroupCFConditionFactoryImpl, WorkflowIsUserInGroupConditionFactoryImpl, WorkflowIsUserInProjectRoleConditionFactoryImpl, WorkflowNoInputPluginFactory, WorkflowSubTaskBlockingConditionFactoryImpl, WorkflowUberFunctionPluginFactory

public abstract class AbstractWorkflowPluginFactory extends Object implements WorkflowPluginFactory
A base WorkflowPluginFactory class that most concrete implementations should extend. A WorkflowPluginFactory mainly exists to provide velocity parameters to the templates. WorkflowPluginFactory implements methods used to configure a workflow plugin. Generally there will be a WorkflowPluginFactory implementation for each workflow plugin type.
  • Constructor Details

    • AbstractWorkflowPluginFactory

      public AbstractWorkflowPluginFactory()
  • Method Details

    • getVelocityParams

      public Map<String,Object> getVelocityParams(String resourceName, com.opensymphony.workflow.loader.AbstractDescriptor descriptor)
      Creates a Map of parameters for a view-specific velocity context given the name of the resource (i.e. configured velocity template name: one of view, input-parameters or edit-parameters) and delegates the parameter adding to the appropriate abstract method for that view.
      Specified by:
      getVelocityParams in interface WorkflowPluginFactory
      Parameters:
      resourceName - the name of the velocity
      descriptor -
      Returns:
      the populated velocity params.
    • getVelocityParamsForInput

      protected abstract void getVelocityParamsForInput(Map<String,Object> velocityParams)
      Get velocity parameters for 'input-parameters' velocity template.
      Parameters:
      velocityParams - Map to populate.
      See Also:
    • getVelocityParamsForEdit

      protected abstract void getVelocityParamsForEdit(Map<String,Object> velocityParams, com.opensymphony.workflow.loader.AbstractDescriptor descriptor)
      Populates the given map with velocity parameters for 'edit-parameters' velocity template. Typically an implementation would call descriptor.getArgs() to retrieve the current configuration, and populate velocityParams from that.
      Parameters:
      velocityParams - Map to populate.
      descriptor - Eg. FunctionDescriptor or ConditionDescriptor describing the function/condition and its current configuration.
      See Also:
    • getVelocityParamsForView

      protected abstract void getVelocityParamsForView(Map<String,Object> velocityParams, com.opensymphony.workflow.loader.AbstractDescriptor descriptor)
      Populates the given map with velocity parameters for 'view' velocity template. Eg. call descriptor.getArgs() to retrieve the current configuration, look up a displayable string for the value and and populate velocityParams with that.
      Parameters:
      velocityParams - Map to populate.
      descriptor - Eg. a FunctionDescriptor or ConditionDescriptor describing the function/condition and its current configuration.
      See Also:
    • extractMultipleParams

      protected Map<String,?> extractMultipleParams(Map<String,Object> params, Collection<String> paramNames)
    • extractSingleParam

      protected String extractSingleParam(Map<String,Object> conditionParams, String paramName)
    • createMap

      protected Map<String,String> createMap(Map<String,String> extractedParams)