com.bea.wli.worklist.api.config
Class AbstractAssignmentHandlerImpl
java.lang.Object
com.bea.wli.worklist.api.config.AbstractAssignmentHandlerImpl
- All Implemented Interfaces:
- AssignmentHandler
public abstract class AbstractAssignmentHandlerImpl
- extends Object
- implements AssignmentHandler
Abstract assignment handler for worklist. Contains default implementation for
assign to next user related methods. Customers can extend this instead of the
interface if they like. This class traverses the candidate list in increasing
index order. Thus, the first candidate is at index 0 in the candidate list
and the last is at candidateUserIds.length - 1.
Method Summary |
AssignmentHandler.Response |
assignTaskToNextUser(String currentClaimant,
String[] candidateUserIds)
Scans the list of candidates, finding the named current claimant, and
then returning the candidate at next next sequential index position. |
void |
destroy()
Default implementation of destroy. |
boolean |
isLastCandidateOnList(String currentClaimant,
String[] candidateUserIds)
Returns true if the currentClaimant is found at index
candidateUserIds.length - 1 within candidateUserIds. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractAssignmentHandlerImpl
public AbstractAssignmentHandlerImpl()
assignTaskToNextUser
public AssignmentHandler.Response assignTaskToNextUser(String currentClaimant,
String[] candidateUserIds)
throws AssignmentException,
ManagementException
- Scans the list of candidates, finding the named current claimant, and
then returning the candidate at next next sequential index position.
This candidate is returned as the claimant within the returned Response
object.
- Specified by:
assignTaskToNextUser
in interface AssignmentHandler
- Parameters:
currentClaimant
- Current claimant of the task.candidateUserIds
- List of user ids for the users that have been
designated as candidate claimants for the task. This list is
guaranteed to be the same (same users in the same order) from
first call to this method in the iteration of the list to the
last call.
- Returns:
- A Response instance indicating any newly calculated assignee
list to be used for this task, and any claimant chosen for the
task. Implementations are free to traverse the list of candidates
in any order they like.
- Throws:
AssignmentException
- if the currentClaimant cannot be found on
the candidateUserIds array as determined with an Object.equals()
comparison.
ManagementException
- If any other error occurs during assignment.
isLastCandidateOnList
public boolean isLastCandidateOnList(String currentClaimant,
String[] candidateUserIds)
throws AssignmentException,
ManagementException
- Returns true if the currentClaimant is found at index
candidateUserIds.length - 1 within candidateUserIds. Matching is done
using Object.equals() comparison.
- Specified by:
isLastCandidateOnList
in interface AssignmentHandler
- Parameters:
currentClaimant
- Current claimant of the task.candidateUserIds
- List of user ids for the users that have been
designated as candidate claimants for the task. This list is
guaranteed to be the same (same users in the same order) from
first call to this method in the iteration of the list to the
last call.
- Returns:
- True if the currentClaimant is the 'last' candidate on the list.
- Throws:
AssignmentException
- if any authorization or logical error happens
during assignment.
ManagementException
- If any other error occurs during assignment.
destroy
public void destroy()
throws ManagementException
- Default implementation of destroy. This method implementation does
nothing and simply returns.
- Specified by:
destroy
in interface AssignmentHandler
- Throws:
ManagementException
- If any error occurs releasing resources.