com.bea.wli.worklist.api.taskplan
Interface AssignmentInstructions

All Superinterfaces:
EventSource, Serializable

public interface AssignmentInstructions
extends EventSource, Serializable

Represents instructions to guide the assignment process, either upon creation of a task, entry into a new current step, or upon manual reassignment. NOTE: BEA provides a default implementation of this interface that can be instantiated using TaskPlanFactory

See Also:
TaskPlanFactory.createAssignmentInstructions()

Nested Class Summary
static interface AssignmentInstructions.Event
          Property names for the PropertyChangeEvents that can be produced by edits on a object of this type.
 
Method Summary
 AssigneeDefinition addAssignee(String name, AssigneeDefinition.Type type)
          Add a new assignee definition to the list of assignees that will be considered when this task is assigned.
 AssigneeDefinition[] getAssignees()
          The list of assignees that will be considered when this task is assigned.
 CandidateListHandling getCandidateListHandling()
          Get the type of handling that will be applied to the list of candidates derived from evaluating the assignee list.
 int getLoadBalancingMaxTasksToConsider()
          The maximum number of tasks to consider (if performing load balancing) when doing workload calculations.
 boolean isLoadBalancingAvailabilityCheckEnabled()
          Will availability of candidates be considered when doing load balancing during assignment.
 boolean isLoadBalancingWorkloadTaskCountOnlyEnabled()
          Get a flag indicating that a raw count of tasks is all that is needed to determine workload score.
 boolean isSetLoadBalancingAvailabilityCheckEnabled()
          Indicates if LoadBalancingAvailabilityCheckEnabled was explicitly set (true) or is a default (false).
 boolean isSetLoadBalancingWorklistTaskCountOnlyEnabled()
          Indicates if LoadBalancingWorklistTaskCountOnlyEnabled was explicitly set (true) or is a default (false).
 void removeAssignee(AssigneeDefinition assignee)
          Remove the given assignee from the list of assignees.
 void setAssignees(AssigneeDefinition[] assignees)
          Set the list of assignees directly (null clears the list of assignees).
 void setCandidateListHandling(CandidateListHandling handling)
          Set the type of handling that will be applied to the list of candidates derived from evaluating the assignee list.
 void setLoadBalancingAvailabilityCheckEnabled(boolean enabled)
          Set whether availability of candidates will be considered when doing load balancing during assignment.
 void setLoadBalancingMaxTasksToConsider(int maxTasks)
          Set the maximum number of tasks to consider (if performing load balancing) when doing worload calculations.
 void setLoadBalancingWorkloadTaskCountOnlyEnabled(boolean enabled)
          Set whether assignment of the task can consider only the count of tasks claimed by this user, and not the more detailed workload information associated with the task.
 
Methods inherited from interface com.bea.wli.worklist.api.taskplan.EventSource
addPropertyChangeListener, addPropertyChangeListener, clearDirty, dispose, getParent, isComplete, isDirty, isInitializing, isStarted, markDirty, removePropertyChangeListener, removePropertyChangeListener, startProducing
 

Method Detail

getAssignees

AssigneeDefinition[] getAssignees()
The list of assignees that will be considered when this task is assigned. This will never be null. An empty array is returned if no assignees have been defined.


setAssignees

void setAssignees(AssigneeDefinition[] assignees)
Set the list of assignees directly (null clears the list of assignees). This is an array of assignee definitions that together designate all the users or groups to be considered as candidates to claim the given task. How the assignee list is processed depends on the value of the candidateListHandling member.


addAssignee

AssigneeDefinition addAssignee(String name,
                               AssigneeDefinition.Type type)
Add a new assignee definition to the list of assignees that will be considered when this task is assigned.

Parameters:
name - The name for the assignee. This name should be an appropriate name for the type of assignee indicated by type. For example, a User assignee should be given a valid user name in the WLS security realm that will apply at runtime. A Group assignee should be given a valid group name. A Rule assignee must be given the name of a rule binding that exists within the task plan that hosts these assignment instructions (or rather the step for these instructions).

removeAssignee

void removeAssignee(AssigneeDefinition assignee)
Remove the given assignee from the list of assignees.

Parameters:
assignee - An existing assignee definition within the assignee list.

getCandidateListHandling

CandidateListHandling getCandidateListHandling()
Get the type of handling that will be applied to the list of candidates derived from evaluating the assignee list. This will return null if no handling has been specified.


setCandidateListHandling

void setCandidateListHandling(CandidateListHandling handling)
Set the type of handling that will be applied to the list of candidates derived from evaluating the assignee list.


isLoadBalancingAvailabilityCheckEnabled

boolean isLoadBalancingAvailabilityCheckEnabled()
Will availability of candidates be considered when doing load balancing during assignment. This setting has no effect if candidate list handling is not LOAD_BALANCING.


setLoadBalancingAvailabilityCheckEnabled

void setLoadBalancingAvailabilityCheckEnabled(boolean enabled)
Set whether availability of candidates will be considered when doing load balancing during assignment. This setting has no effect if candidate list handling is not LOAD_BALANCING.


isSetLoadBalancingAvailabilityCheckEnabled

boolean isSetLoadBalancingAvailabilityCheckEnabled()
Indicates if LoadBalancingAvailabilityCheckEnabled was explicitly set (true) or is a default (false).


isLoadBalancingWorkloadTaskCountOnlyEnabled

boolean isLoadBalancingWorkloadTaskCountOnlyEnabled()
Get a flag indicating that a raw count of tasks is all that is needed to determine workload score. If false, assignment of the task should use as much information as needed (e.g. task time estimates, step estimates, etc.) to determine workload score. Note, setting this value to false will likely result in a more costly assignment calculation. If this value is true, each task claimed by the user should be counted as single unit of workload. In this case, all tasks claimed by a user count the same towards the user's workload score.


setLoadBalancingWorkloadTaskCountOnlyEnabled

void setLoadBalancingWorkloadTaskCountOnlyEnabled(boolean enabled)
Set whether assignment of the task can consider only the count of tasks claimed by this user, and not the more detailed workload information associated with the task.

Parameters:
enabled - If true, only task count will be considered when calculating workload for a user during load balancing.

isSetLoadBalancingWorklistTaskCountOnlyEnabled

boolean isSetLoadBalancingWorklistTaskCountOnlyEnabled()
Indicates if LoadBalancingWorklistTaskCountOnlyEnabled was explicitly set (true) or is a default (false).


getLoadBalancingMaxTasksToConsider

int getLoadBalancingMaxTasksToConsider()
The maximum number of tasks to consider (if performing load balancing) when doing workload calculations. This defaults to 100.


setLoadBalancingMaxTasksToConsider

void setLoadBalancingMaxTasksToConsider(int maxTasks)
Set the maximum number of tasks to consider (if performing load balancing) when doing worload calculations. This value is ignored if isSetLoadBalancingWorklistTaskCountOnlyEnabled() returns true.