com.ibm.pim.workflow
Interface WorkflowStep

All Known Subinterfaces:
Fixit, NestedWorkflowStep

public interface WorkflowStep

The WorkflowStep interface represents a Step in a Workflow. The interface provides methods to manipulate the design of that step.

Since:
6.0.0

Nested Class Summary
static class WorkflowStep.Type
           
 
Field Summary
static java.lang.String copyright
           
 
Method Summary
 void addPerformer(Performer performer)
          Override/set the performer for this step
 void addPerformers(java.util.Collection<Performer> performers)
          Override/set the list of performers for this step
 ExitValue createExitValue(ExitValue exitValue)
          Add a new exit value, using the ExitValue object passed in, for this Workflow Step.
 ExitValue createExitValue(java.lang.String exitValue)
          Add a new exit value, using the string passed in, for this Workflow Step.
 java.util.Collection<AttributeCollection> getAttributeCollections()
          Get all attribute collections for this step.
 java.util.Collection<AttributeCollection> getAttributeCollections(Hierarchy locationHierarchy)
          Get all attribute collections on the specified location hierarchy for this step.
 java.util.Collection<AttributeCollection> getAttributeCollections(ScreenType screenType)
          Get all attribute collections for a given screen type on this step.
 boolean getCanModifyLocationHierarchyAvailability(Hierarchy locationHierarchy)
          Get the "can modify availability" flag for a particular location hierarchy on this workflow.
 java.lang.String getDefaultStepScriptPath()
          Get the default script path for this Workflow Step's Step Scripts
 java.lang.String getDescription()
          Get the step name description.
 java.util.Collection<AttributeCollection> getEditableAttributeCollections()
          Get the editable (but not required) attribute collections for this step.
 java.util.Collection<AttributeCollection> getEditableAttributeCollections(Hierarchy locationHierarchy)
          Get the editable (but not required) attribute collections on the specified location hierarchy for this step.
 java.util.Collection<AttributeCollection> getEditableAttributeCollections(ScreenType screenType)
          Get the editable (but not required) attribute collections for a given screen type on this step.
 java.util.Collection<java.lang.String> getEntranceNotificationAddresses()
          Fetch a list of email addresses which will be notified when items/categories enter this Workflow Step.
 ExitValue getExitValue(java.lang.String exitValue)
          Fetch an ExitValue object from this Workflow Step, identified by the String passed in.
 java.util.Collection<ExitValue> getExitValues()
          Get all the possible exit values for items/categories leaving this Workflow Step.
 java.util.Collection<Hierarchy> getLocationHierarchiesWithCanModifyAvailabilitySettings()
          Get the location hierarchies which have "can modify availability" settings for this workflow (This will affect whether user can modify availability of locations within those hierarchies, for items within the collaboration area based on this workflow)
 java.lang.String getName()
          Get the step name.
 java.util.Collection<WorkflowStep> getNextSteps()
          Fetch a collection of all next Workflow Steps for this Workflow Step, irrespective of exit value.
 java.util.Collection<WorkflowStep> getNextSteps(ExitValue exitValue)
          Fetch the next Workflow Steps, for the specified ExitValue on this step
 java.util.Collection<WorkflowStep> getNextSteps(java.lang.String exitValue)
          Fetch the next WorkflowSteps for the specified Exit Value on this step
 java.util.Collection<Performer> getPerformers()
          Get the collection of all performers for this Workflow Step.
 java.util.Collection<AttributeCollection> getRequiredAttributeCollections()
          Get the required & editable attribute collections for this step.
 java.util.Collection<AttributeCollection> getRequiredAttributeCollections(Hierarchy locationHierarchy)
          Get the required & editable attribute collections on the specified location hierarchy for this step.
 java.util.Collection<AttributeCollection> getRequiredAttributeCollections(ScreenType screenType)
          Get the required & editable attribute collections for a given screen type on this step.
 Document getStepScript()
          Get the currently set step script path for this Workflow Step.
 java.util.Date getTimeoutDate()
          Get the timeout for this step.
 int getTimeoutDuration()
          Get the timeout duration.
 java.util.Collection<java.lang.String> getTimeoutNotificationAddresses()
          Fetch a list of email addresses that will be notified as a result of timeout from this step
 WorkflowStep.Type getType()
          Get the type of this Workflow Step
 java.util.Collection<AttributeCollection> getViewableAttributeCollections()
          Get the viewable attribute collections for this step.
 java.util.Collection<AttributeCollection> getViewableAttributeCollections(Hierarchy locationHierarchy)
          Get the viewable attribute collections on the specified location hierarchy for this step.
 java.util.Collection<AttributeCollection> getViewableAttributeCollections(ScreenType screenType)
          Get the viewable attribute collections for a given screen type on this step.
 boolean hasExitValue(ExitValue exitValue)
          Check if this Workflow Step has an exit value identified by the ExitValue object passed in.
 boolean hasExitValue(java.lang.String exitValue)
          Check if this Workflow Step has an exit value identified by the String passed in.
 boolean isAutomatedStep()
          Identifies if this Workflow Step is an automated Step (i.e.
 boolean isFailureStep()
          Identifies if this Workflow Step is the Workflow's Failure Step.
 boolean isFixitStep()
          Check if the WorkflowStep is a reference to Fixit
 boolean isImportAllowed()
          Check if Allow Import into Step is enabled for this step
 boolean isInitialStep()
          Check if this Workflow Step is the Workflow's Initial Step.
 boolean isNestedWorkflowStep()
          Identifies if this Workflow Step is a Nested Workflow Step.
 boolean isRecategorizeEnabled()
          Check if Allow Recategorization is enabled for this step
 boolean isReserveToEditEnabled()
          Check if reserve to edit is enabled for this step
 boolean isSuccessStep()
          Identifies if this Workflow Step is the Workflow's Success Step.
 void removeExitValue(ExitValue exitValue)
          Remove an exit value, identified by the ExitValue object passed in, from this Workflow Step.
 void removeExitValue(java.lang.String exitValue)
          Remove an exit value, with name identified by the String passed in, from this Workflow Step.
 void setAllowImportIntoStep(boolean allowImportIntoStep)
          Set the allowImportIntoStep flag for this Workflow Step.
 void setCanModifyLocationHierarchyAvailability(Hierarchy locationHierarchy, boolean modifiable)
          Set the "can modify availability" flag for a particular location hierarchy in this workflow, This will affect whether user can modify availability of locations within that hierarchies, for items within the collaboration area based on this workflow This will also cause the location hierarchy to be returned from the getLocationHierarchiesWithCanModifyAvailabilitySettings() method.
 void setDescription(java.lang.String description)
          Set the description of this Workflow Step.
 void setEditableAttributeCollections(java.util.Collection<AttributeCollection> editableAttributeCollections, Hierarchy locationHierarchy)
          Set/override the editable (but not required) attribute collections on the specified location hierarchy for this step.
 void setEditableAttributeCollections(java.util.Collection<AttributeCollection> editableAttributeCollections, ScreenType screenType)
          Set/override the editable (but not required) attribute collections for a given screen type on this step.
 void setEntranceNotificationAddresses(java.util.Collection<java.lang.String> entranceNotificationAddresses)
          Set the email addresses that will be notified when items/categories enter this Workflow Step.
 void setNextStep(ExitValue exitValue, WorkflowStep nextStep)
          Override/set the next step for a particular exit value on this step
 void setNextStep(java.lang.String exitValue, WorkflowStep nextStep)
          Override/set the next step for a particular exit value
 void setNextSteps(ExitValue exitValue, java.util.Collection<WorkflowStep> nextSteps)
          Override/set the next steps for a particular exit value on this step
 void setNextSteps(java.lang.String exitValue, java.util.Collection<WorkflowStep> nextSteps)
          Override/set the next steps for a particular exit value
 void setRecategorize(boolean recategorize)
          Set the recategorize flag for this Workflow Step.
 void setRequiredAttributeCollections(java.util.Collection<AttributeCollection> requiredAttributeCollections, Hierarchy locationHierarchy)
          Set/override the required & editable attribute collections on the specified location hierarchy for this step.
 void setRequiredAttributeCollections(java.util.Collection<AttributeCollection> requiredAttributeCollections, ScreenType screenType)
          Set/override the required & editable attribute collections for a given screen type on this step.
 void setReserveToEdit(boolean reserveToEdit)
          Set the reserveToEdit flag for this Workflow Step.
 void setStepScript(Document docstorePath)
          Set script path for this Workflow Step, overriding the current setting.
 void setTimeoutDate(java.util.Date timeoutDate)
          Set the timeout for this step
 void setTimeoutDuration(int timeoutDuration)
          Sets the timeout duration.
 void setTimeoutNotificationAddresses(java.util.Collection<java.lang.String> timeoutNotificationAddresses)
          Set the email addresses that will be notified as a result of timeout from this step
 void setViewableAttributeCollections(java.util.Collection<AttributeCollection> viewableAttributeCollections, Hierarchy locationHierarchy)
          Set/override the viewable attribute collections on the specified location hierarchy for this step.
 void setViewableAttributeCollections(java.util.Collection<AttributeCollection> viewableAttributeCollections, ScreenType screenType)
          Set/override the viewable attribute collections for a given screen type on this step.
 

Field Detail

copyright

static final java.lang.String copyright
See Also:
Constant Field Values
Method Detail

getName

java.lang.String getName()
Get the step name. Step name cannot be changed.

Returns:
the name of the step
Throws:
PIMInternalException - If an internal error occurs

getDescription

java.lang.String getDescription()
Get the step name description.

Returns:
the step description
Throws:
PIMInternalException - If an internal error occurs

setDescription

void setDescription(java.lang.String description)
Set the description of this Workflow Step.

Parameters:
description - the new step description
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null or empty string is passed
PIMAuthorizationException - Reserved for future use

isFixitStep

boolean isFixitStep()
Check if the WorkflowStep is a reference to Fixit

Returns:
true if the WorkflowStep is of type Fixit
Throws:
PIMInternalException - If an internal error occurred.

isInitialStep

boolean isInitialStep()
Check if this Workflow Step is the Workflow's Initial Step.

Returns:
true if this is the initial step for the workflow
Throws:
PIMInternalException - If an internal error occurs

getType

WorkflowStep.Type getType()
Get the type of this Workflow Step

Returns:
the type of this step.
Throws:
PIMInternalException - If an internal error occurs
java.lang.UnsupportedOperationException - If WorkflowStep contains an invalid type. This should never occur since all performers are roles or users.

isSuccessStep

boolean isSuccessStep()
Identifies if this Workflow Step is the Workflow's Success Step.

Returns:
true if this is the success step for the workflow
Throws:
PIMInternalException - If an internal error occurs

isFailureStep

boolean isFailureStep()
Identifies if this Workflow Step is the Workflow's Failure Step.

Returns:
true if this is the failure step for the workflow
Throws:
PIMInternalException - If an internal error occurs

isAutomatedStep

boolean isAutomatedStep()
Identifies if this Workflow Step is an automated Step (i.e. No user action is required to move the item to the next step)

Returns:
true if this is an automated step
Throws:
PIMInternalException - If an internal error occurs

isNestedWorkflowStep

boolean isNestedWorkflowStep()
Identifies if this Workflow Step is a Nested Workflow Step.

Returns:
true if this is a nested workflow step
Throws:
PIMInternalException - If an internal error occurs

getExitValues

java.util.Collection<ExitValue> getExitValues()
Get all the possible exit values for items/categories leaving this Workflow Step.

Returns:
a Collection of ExitValues for this step.
Throws:
PIMInternalException - If an internal error occurs

createExitValue

ExitValue createExitValue(java.lang.String exitValue)
Add a new exit value, using the string passed in, for this Workflow Step.

Note - After adding the exit value, one or more next steps must be associated with it, in order for the workflow to be able to be saved.

Use the WorkflowStep.setNextStep(String exVal, WorkflowStep wflStep) method to associate the exit value with a Workflow Step or WorkflowStep.setNextStep(String exVal, Collection wflSteps) method to associate the exit value with more than one Workflow Step and then call Workflow.save()

Parameters:
exitValue - the string to identify the exit value
Returns:
an ExitValue with the given name, for this step.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null or empty String is passed
PIMAuthorizationException - Reserved for future use

createExitValue

ExitValue createExitValue(ExitValue exitValue)
Add a new exit value, using the ExitValue object passed in, for this Workflow Step.

Note - After adding the exit value, one or more next steps must be associated with it, in order for the workflow to be able to be saved.

Use the WorkflowStep.setNextStep(ExitValue exVal, WorkflowStep wflStep) method to associate the exit value with a Workflow Step or WorkflowStep.setNextStep(ExitValue exVal, Collection wflSteps) method to associate the exit value with more than one Workflow Step.

Parameters:
exitValue - an exit value from another workflow step whose name you wish to use for the new exit value on this step
Returns:
an ExitValue with the same name for this step.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null ExitValue is passed
PIMAuthorizationException - Reserved for future use

removeExitValue

void removeExitValue(ExitValue exitValue)
Remove an exit value, identified by the ExitValue object passed in, from this Workflow Step.

Parameters:
exitValue - the exit value to be removed from this step. If the exit value object belongs to a different WorkflowStep, its name will be used to locate the corresponding exit value on this step.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null ExitValue is passed
PIMAuthorizationException - Reserved for future use

removeExitValue

void removeExitValue(java.lang.String exitValue)
Remove an exit value, with name identified by the String passed in, from this Workflow Step.

Parameters:
exitValue - the name of the exit value to be removed from this step.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null or empty String is passed
PIMAuthorizationException - Reserved for future use

hasExitValue

boolean hasExitValue(java.lang.String exitValue)
Check if this Workflow Step has an exit value identified by the String passed in.

Parameters:
exitValue - the name of the exit value
Returns:
true if this exit value is present, false otherwise
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null or empty String is passed

hasExitValue

boolean hasExitValue(ExitValue exitValue)
Check if this Workflow Step has an exit value identified by the ExitValue object passed in.

Parameters:
exitValue - an exit value from another workflow step whose value will be used to check for an equivalently named exit value on this step
Returns:
true if this exit value is present, false otherwise
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null ExitValue is passed

getExitValue

ExitValue getExitValue(java.lang.String exitValue)
Fetch an ExitValue object from this Workflow Step, identified by the String passed in.

Parameters:
exitValue - the name of the exit value
Returns:
the exit value if it exists on this step
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null or empty String is passed

getNextSteps

java.util.Collection<WorkflowStep> getNextSteps()
Fetch a collection of all next Workflow Steps for this Workflow Step, irrespective of exit value.

Returns:
a Collection of all next WorkflowSteps for this step. This is a combined list of all next steps across all exit values.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use

getNextSteps

java.util.Collection<WorkflowStep> getNextSteps(ExitValue exitValue)
Fetch the next Workflow Steps, for the specified ExitValue on this step

Parameters:
exitValue - an exit Value of this WorkflowStep that you wish to retrieve the steps for. If this exitValue is derived from another step, the equivalently named exitValue for this step is looked up.
Returns:
a Collection of next WorkflowSteps for this step, for the specified ExitValue. Please note this is a lazily instantiated collection.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null ExitValue is passed
PIMAuthorizationException - Reserved for future use

getNextSteps

java.util.Collection<WorkflowStep> getNextSteps(java.lang.String exitValue)
Fetch the next WorkflowSteps for the specified Exit Value on this step

Returns:
a Collection of next WorkflowSteps for this step, for the specified ExitValue name.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null or empty String is passed
PIMAuthorizationException - Reserved for future use

isReserveToEditEnabled

boolean isReserveToEditEnabled()
Check if reserve to edit is enabled for this step

Returns:
true if reserve to edit is enabled for the step
Throws:
PIMInternalException - If an internal error occurs

isImportAllowed

boolean isImportAllowed()
Check if Allow Import into Step is enabled for this step

Returns:
true if Allow Import into Step is enabled for this step
Throws:
PIMInternalException - If an internal error occurs

isRecategorizeEnabled

boolean isRecategorizeEnabled()
Check if Allow Recategorization is enabled for this step

Returns:
true if Allow Recategorization is enabled for this step
Throws:
PIMInternalException - If an internal error occurs

setNextStep

void setNextStep(ExitValue exitValue,
                 WorkflowStep nextStep)
Override/set the next step for a particular exit value on this step

Parameters:
exitValue - an exit Value of this WorkflowStep that you wish to retrieve the steps for. If this exitValue is derived from another step, the equivalently named exitValue for this step is looked
nextStep - the WorkflowStep for the step that will be the next step on this exit value
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null ExitValue/WorkflowStep is passed
PIMAuthorizationException - Reserved for future use

setNextSteps

void setNextSteps(ExitValue exitValue,
                  java.util.Collection<WorkflowStep> nextSteps)
Override/set the next steps for a particular exit value on this step

Parameters:
exitValue - an exit Value of this WorkflowStep that you wish to retrieve the steps for. If this exitValue is derived from another step, the equivalently named exitValue for this step is looked up.
nextSteps - a Collection of next steps for this exit value
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null ExitValue/Collection is passed
PIMAuthorizationException - Reserved for future use

setNextStep

void setNextStep(java.lang.String exitValue,
                 WorkflowStep nextStep)
Override/set the next step for a particular exit value

Parameters:
exitValue - the exitValue to set the next step for
nextStep - the WorkflowStep for the step that will be the next step on this exit value
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null or empty String/WorkflowStep is passed
PIMAuthorizationException - Reserved for future use

setNextSteps

void setNextSteps(java.lang.String exitValue,
                  java.util.Collection<WorkflowStep> nextSteps)
Override/set the next steps for a particular exit value

Parameters:
exitValue - the exitValue to set the next step for
nextSteps - a Collection of next steps for this exit value
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null or empty String/Collection is passed
PIMAuthorizationException - Reserved for future use

addPerformer

void addPerformer(Performer performer)
Override/set the performer for this step

Parameters:
performer - the user/role to set as performer for this step
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Performer is passed
PIMAuthorizationException - Reserved for future use

addPerformers

void addPerformers(java.util.Collection<Performer> performers)
Override/set the list of performers for this step

Parameters:
performers - a Collection of users/roles that are performers for this step
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed
PIMAuthorizationException - Reserved for future use
java.lang.UnsupportedOperationException - If Performer is neither a user or role. This should never occur since all performers are roles or users

getPerformers

java.util.Collection<Performer> getPerformers()
Get the collection of all performers for this Workflow Step.

Returns:
a Collection of user/roles that are performers for this step. This can be manipulated and set back in using addPerformers().
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use

setReserveToEdit

void setReserveToEdit(boolean reserveToEdit)
Set the reserveToEdit flag for this Workflow Step.

Parameters:
reserveToEdit - true to set reserve To Edit, false to clear it
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null boolean is passed
PIMAuthorizationException - Reserved for future use

setAllowImportIntoStep

void setAllowImportIntoStep(boolean allowImportIntoStep)
Set the allowImportIntoStep flag for this Workflow Step.

Parameters:
allowImportIntoStep - true to set allow import into step, false to clear it
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null boolean is passed
PIMAuthorizationException - Reserved for future use

setRecategorize

void setRecategorize(boolean recategorize)
Set the recategorize flag for this Workflow Step.

Parameters:
recategorize - true to set recategorize, false to clear it
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null boolean is passed
PIMAuthorizationException - Reserved for future use

getEditableAttributeCollections

java.util.Collection<AttributeCollection> getEditableAttributeCollections()
Get the editable (but not required) attribute collections for this step. The attributes for these attribute collections will be used in conjunction with the required attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getRequiredAttributeCollections collection.

Returns:
a Collection of Attribute Collections for the editable attribute collections for this step.
Throws:
PIMInternalException - If an internal error occurs

getEditableAttributeCollections

java.util.Collection<AttributeCollection> getEditableAttributeCollections(ScreenType screenType)
Get the editable (but not required) attribute collections for a given screen type on this step. The attributes for these attribute collections will be used in conjunction with the required attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getRequiredAttributeCollections collection.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
Returns:
a Collection of Attribute Collections for the editable attribute collections for this step.
Throws:
PIMInternalException - If an internal error occurs
See Also:
ScreenType

getEditableAttributeCollections

java.util.Collection<AttributeCollection> getEditableAttributeCollections(Hierarchy locationHierarchy)
Get the editable (but not required) attribute collections on the specified location hierarchy for this step. The attributes for these attribute collections will be used in conjunction with the required attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getRequiredAttributeCollections collection.

Parameters:
locationHierarchy - the location hierarchy on which the attribute collections are determined.
Returns:
a Collection of Attribute Collections for the editable attribute collections on the specified location hierarchy for this step.
Throws:
PIMInternalException - If an internal error occurs

getRequiredAttributeCollections

java.util.Collection<AttributeCollection> getRequiredAttributeCollections()
Get the required & editable attribute collections for this step.

The attributes for these attribute collections will be used in conjunction with the editable attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step (iv) to determine which attributes must have a value before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getEditableAttributeCollections collection, (iv) will be these required attribute collections only.

Returns:
a Collection of Attribute Collections for the required attribute collections for this step.
Throws:
PIMInternalException - If an internal error occurs

getRequiredAttributeCollections

java.util.Collection<AttributeCollection> getRequiredAttributeCollections(ScreenType screenType)
Get the required & editable attribute collections for a given screen type on this step.

The attributes for these attribute collections will be used in conjunction with the editable attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step (iv) to determine which attributes must have a value before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getEditableAttributeCollections collection, (iv) will be these required attribute collections only.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
Returns:
a Collection of Attribute Collections for the required attribute collections for this step.
Throws:
PIMInternalException - If an internal error occurs
See Also:
ScreenType

getRequiredAttributeCollections

java.util.Collection<AttributeCollection> getRequiredAttributeCollections(Hierarchy locationHierarchy)
Get the required & editable attribute collections on the specified location hierarchy for this step.

The attributes for these attribute collections will be used in conjunction with the editable attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step (iv) to determine which attributes must have a value before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getEditableAttributeCollections collection, (iv) will be these required attribute collections only.

Parameters:
locationHierarchy - the location hierarchy on which the attribute collections are determined.
Returns:
a Collection of Attribute Collections for the required attribute collections on the specified location hierarchy for this step.
Throws:
PIMInternalException - If an internal error occurs

getViewableAttributeCollections

java.util.Collection<AttributeCollection> getViewableAttributeCollections()
Get the viewable attribute collections for this step.

The attributes for these attribute collections will be used (i) to determine which attributes are displayed (but not editable) on workflow edit screens The attributes in these attribute collections will not be checked out and will not require validation or require a value to leave the step. However, it will be the value of these attributes at the time of checkout, that will be visible within the workflow edit screens.

Returns:
a Collection of Attribute Collections for the viewable attribute collections for this step
Throws:
PIMInternalException - If an internal error occurs

getViewableAttributeCollections

java.util.Collection<AttributeCollection> getViewableAttributeCollections(ScreenType screenType)
Get the viewable attribute collections for a given screen type on this step.

The attributes for these attribute collections will be used (i) to determine which attributes are displayed (but not editable) on workflow edit screens The attributes in these attribute collections will not be checked out and will not require validation or require a value to leave the step. However, it will be the value of these attributes at the time of checkout, that will be visible within the workflow edit screens.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
Returns:
a Collection of Attribute Collections for the viewable attribute collections for this step
Throws:
PIMInternalException - If an internal error occurs
See Also:
ScreenType

getViewableAttributeCollections

java.util.Collection<AttributeCollection> getViewableAttributeCollections(Hierarchy locationHierarchy)
Get the viewable attribute collections on the specified location hierarchy for this step.

The attributes for these attribute collections will be used (i) to determine which attributes are displayed (but not editable) on workflow edit screens The attributes in these attribute collections will not be checked out and will not require validation or require a value to leave the step. However, it will be the value of these attributes at the time of checkout, that will be visible within the workflow edit screens.

Parameters:
locationHierarchy - the location hierarchy on which the attribute collections are determined.
Returns:
a Collection of Attribute Collections for the viewable attribute collections on the specified location hierarchy for this step.
Throws:
PIMInternalException - If an internal error occurs

getAttributeCollections

java.util.Collection<AttributeCollection> getAttributeCollections()
Get all attribute collections for this step.

Returns:
a Collection of all Attribute Collections for this step.
Throws:
PIMInternalException - If an internal error occurs

getAttributeCollections

java.util.Collection<AttributeCollection> getAttributeCollections(ScreenType screenType)
Get all attribute collections for a given screen type on this step.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
Returns:
a Collection of all Attribute Collections for this step.
Throws:
PIMInternalException - If an internal error occurs
See Also:
ScreenType

getAttributeCollections

java.util.Collection<AttributeCollection> getAttributeCollections(Hierarchy locationHierarchy)
Get all attribute collections on the specified location hierarchy for this step.

Parameters:
locationHierarchy - the location hierarchy on which the attribute collections are determined.
Returns:
a Collection of all the Attribute Collections on the specified location hierarchy for this step.
Throws:
PIMInternalException - If an internal error occurs

setEditableAttributeCollections

void setEditableAttributeCollections(java.util.Collection<AttributeCollection> editableAttributeCollections,
                                     ScreenType screenType)
Set/override the editable (but not required) attribute collections for a given screen type on this step.

The attributes for these attribute collections will be used in conjunction with the required attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getRequiredAttributeCollections collection.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
editableAttributeCollections - a Collection of attribute collections editable for this step
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed
See Also:
ScreenType

setEditableAttributeCollections

void setEditableAttributeCollections(java.util.Collection<AttributeCollection> editableAttributeCollections,
                                     Hierarchy locationHierarchy)
Set/override the editable (but not required) attribute collections on the specified location hierarchy for this step.

The attributes for these attribute collections will be used in conjunction with the required attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getRequiredAttributeCollections collection.

Parameters:
editableAttributeCollections - a Collection of attribute collections editable for this step
locationHierarchy - the location hierarchy on which the attribute collections are set.
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed

setRequiredAttributeCollections

void setRequiredAttributeCollections(java.util.Collection<AttributeCollection> requiredAttributeCollections,
                                     ScreenType screenType)
Set/override the required & editable attribute collections for a given screen type on this step.

The attributes for these attribute collections will be used in conjunction with the editable attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step (iv) to determine which attributes must have a value before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getEditableAttributeCollections collection, (iv) will be these required attribute collections only.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
requiredAttributeCollections - a Collection of attribute collections required for this step
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null Collection is passed
See Also:
ScreenType

setRequiredAttributeCollections

void setRequiredAttributeCollections(java.util.Collection<AttributeCollection> requiredAttributeCollections,
                                     Hierarchy locationHierarchy)
Set/override the required & editable attribute collections on the specified location hierarchy for this step.

The attributes for these attribute collections will be used in conjunction with the editable attribute collections: (i) to determine which attributes are checked out for the workflow (ii) to determine which attributes can be edited on workflow edit screens (iii) to determine which attributes must be valid before items/categories can leave this step (iv) to determine which attributes must have a value before items/categories can leave this step

In other words, (i), (ii) and (iii) will be the union of this collection and the getEditableAttributeCollections collection, (iv) will be these required attribute collections only.

Parameters:
requiredAttributeCollections - a Collection of attribute collections required for this step
locationHierarchy - the location hierarchy on which the attribute collections are set.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If null Collection is passed

setViewableAttributeCollections

void setViewableAttributeCollections(java.util.Collection<AttributeCollection> viewableAttributeCollections,
                                     ScreenType screenType)
Set/override the viewable attribute collections for a given screen type on this step.

The attributes for these attribute collections will be used (i) to determine which attributes are displayed (but not editable) on workflow edit screens The attributes in these attribute collections will not be checked out and will not require validation or require a value to leave the step. However, it will be the value of these attributes at the time of checkout, that will be visible within the workflow edit screens.

Parameters:
screenType - This parameter specifies the type of Screen on the current workflow step for which the current attribute collections are being referred to.
viewableAttributeCollections - a Collection of attribute collections viewable for this step
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed
See Also:
ScreenType

setViewableAttributeCollections

void setViewableAttributeCollections(java.util.Collection<AttributeCollection> viewableAttributeCollections,
                                     Hierarchy locationHierarchy)
Set/override the viewable attribute collections on the specified location hierarchy for this step.

The attributes for these attribute collections will be used (i) to determine which attributes are displayed (but not editable) on workflow edit screens The attributes in these attribute collections will not be checked out and will not require validation or require a value to leave the step. However, it will be the value of these attributes at the time of checkout, that will be visible within the workflow edit screens.

Parameters:
viewableAttributeCollections - a Collection of attribute collections viewable for this step
locationHierarchy - the location hierarchy on which the attribute collections are set.
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed

getEntranceNotificationAddresses

java.util.Collection<java.lang.String> getEntranceNotificationAddresses()
Fetch a list of email addresses which will be notified when items/categories enter this Workflow Step.

Returns:
an array of e-mail addresses for entrance notification
Throws:
PIMInternalException - If an internal error occurs

setEntranceNotificationAddresses

void setEntranceNotificationAddresses(java.util.Collection<java.lang.String> entranceNotificationAddresses)
Set the email addresses that will be notified when items/categories enter this Workflow Step.

Parameters:
entranceNotificationAddresses - a collection of e-mail addresses for entry notification This will overwrite the existing list of addresses If the parameter is null or an empty Collection, the address list will be cleared.
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed
PIMAuthorizationException - Reserved for future use

getTimeoutNotificationAddresses

java.util.Collection<java.lang.String> getTimeoutNotificationAddresses()
Fetch a list of email addresses that will be notified as a result of timeout from this step

Returns:
an array of e-mail addresses for timeout notification
Throws:
PIMInternalException - If an internal error occurs

setTimeoutNotificationAddresses

void setTimeoutNotificationAddresses(java.util.Collection<java.lang.String> timeoutNotificationAddresses)
Set the email addresses that will be notified as a result of timeout from this step

Parameters:
timeoutNotificationAddresses - a collection of e-mail addresses for timeout notification This will overwrite the existing list of addresses If the parameter is null or an empty list, the address list will be cleared.
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null Collection is passed
PIMAuthorizationException - Reserved for future use

getTimeoutDate

java.util.Date getTimeoutDate()
Get the timeout for this step. null will be returned if timeout date is not set.

Returns:
the timeout date
Throws:
PIMInternalException - If an internal error occurs or if there is no timeout date

setTimeoutDate

void setTimeoutDate(java.util.Date timeoutDate)
Set the timeout for this step

Parameters:
timeoutDate - the timeout date to be set
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null boolean is passed
java.lang.IllegalArgumentException - If null Date is passed
PIMAuthorizationException - Reserved for future use

getTimeoutDuration

int getTimeoutDuration()
Get the timeout duration.

Returns:
the timeout duration, in seconds, or 0 if no timeout set
Throws:
PIMInternalException - If an internal error occurs

setTimeoutDuration

void setTimeoutDuration(int timeoutDuration)
Sets the timeout duration. If -1 is passed as the parameter value to this method, the Timeout for the workflow step is reset to None.

Parameters:
timeoutDuration - the timeout duration in seconds
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If negative int is passed
PIMAuthorizationException - Reserved for future use

getDefaultStepScriptPath

java.lang.String getDefaultStepScriptPath()
Get the default script path for this Workflow Step's Step Scripts

Returns:
the default path for step script.
Throws:
PIMInternalException - If an internal error occurs

getStepScript

Document getStepScript()
Get the currently set step script path for this Workflow Step.

Returns:
the current path for step script.
Throws:
PIMInternalException - If an internal error occurs

setStepScript

void setStepScript(Document docstorePath)
Set script path for this Workflow Step, overriding the current setting.

Parameters:
docstorePath - the script path in the docstore to be used for storing IN, OUT, TIMEOUT user functions. Use getDefaultStepScriptPath() to get a default value for use here.
Throws:
PIMInternalException - If an internal error occurs,
java.lang.IllegalArgumentException - If null or empty String is passed
PIMAuthorizationException - Reserved for future use

getLocationHierarchiesWithCanModifyAvailabilitySettings

java.util.Collection<Hierarchy> getLocationHierarchiesWithCanModifyAvailabilitySettings()
Get the location hierarchies which have "can modify availability" settings for this workflow (This will affect whether user can modify availability of locations within those hierarchies, for items within the collaboration area based on this workflow)

Returns:
a Collection of Location Hierarchies that have availability settings for this workflow step
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use

setCanModifyLocationHierarchyAvailability

void setCanModifyLocationHierarchyAvailability(Hierarchy locationHierarchy,
                                               boolean modifiable)
Set the "can modify availability" flag for a particular location hierarchy in this workflow, This will affect whether user can modify availability of locations within that hierarchies, for items within the collaboration area based on this workflow This will also cause the location hierarchy to be returned from the getLocationHierarchiesWithCanModifyAvailabilitySettings() method. Calling this method will do nothing in the case where an invalid type workflow like category workflow or for default hierarchies like "Default Lookup Table Hierarchy".

Parameters:
locationHierarchy - the location hierarchy to set availability for.
modifiable - true to mark this location hierarchy as “availabilities can be modified”, false to mark this location hierarchy as “availabilities cannot be modified”
Throws:
PIMInternalException - If an internal error occurs,
PIMAuthorizationException - Reserved for future use

getCanModifyLocationHierarchyAvailability

boolean getCanModifyLocationHierarchyAvailability(Hierarchy locationHierarchy)
Get the "can modify availability" flag for a particular location hierarchy on this workflow. This must be in the getLocationHierarchiesWithCanModifyAvailabilitySettings() list

Parameters:
locationHierarchy - the location hierarchy to get availability for.
Returns:
true if this location hierarchy is marked as “availabilities can be modified”, false if it is marked as “availabilities cannot be modified” or if it does not have an availability modifiability setting for this WorkflowStep
Throws:
PIMInternalException - If an internal error occurs