edu.wpi.prc.task
Class TaskFactory

java.lang.Object
  extended by edu.wpi.prc.task.TaskFactory

public class TaskFactory
extends java.lang.Object

Creates instances of the WorkUnit and Result classes. Automatically assigns a unique task ID to each instance. Note: created instances are not automatically stored to the database.

Author:
James Baldassari

Field Summary
private static int endID
           
private static int MAX_END_ID
           
private static java.lang.String RESULT_PREFIX
           
private static java.lang.String TASK_ID_FORMAT
           
private static java.text.SimpleDateFormat taskFormat
           
private static java.lang.String WORK_UNIT_PREFIX
           
 
Constructor Summary
TaskFactory()
           
 
Method Summary
static Result createIngressResult()
          Creates a new Result.
static Result createIngressResult(java.lang.String taskID)
          Creates a new Result with the given task ID.
static WorkUnit createIngressWorkUnit()
          Creates a new WorkUnit.
static WorkUnit createIngressWorkUnit(java.lang.String taskID)
          Creates a new WorkUnit with the given task ID.
static Result createResult()
           
static Result createResult(java.lang.String taskID)
          Creates a new Result with the given task ID.
static WorkUnit createWorkUnit()
           
static WorkUnit createWorkUnit(java.lang.String taskID)
          Creates a new WorkUnit with the given task ID.
private static java.lang.String generateResultID()
           
private static java.lang.String generateTaskID(java.lang.String prefix)
           
private static java.lang.String generateWorkUnitID()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TASK_ID_FORMAT

private static final java.lang.String TASK_ID_FORMAT

WORK_UNIT_PREFIX

private static final java.lang.String WORK_UNIT_PREFIX
See Also:
Constant Field Values

RESULT_PREFIX

private static final java.lang.String RESULT_PREFIX
See Also:
Constant Field Values

MAX_END_ID

private static final int MAX_END_ID
See Also:
Constant Field Values

endID

private static int endID

taskFormat

private static java.text.SimpleDateFormat taskFormat
Constructor Detail

TaskFactory

public TaskFactory()
Method Detail

createWorkUnit

public static WorkUnit createWorkUnit()
Returns:
Returns a new WorkUnit with a unique task ID.

createWorkUnit

public static WorkUnit createWorkUnit(java.lang.String taskID)
Creates a new WorkUnit with the given task ID.

Parameters:
taskID - The task ID to set for the new WorkUnit.
Returns:
Returns a new WorkUnit with a unique taskID.

createIngressWorkUnit

public static WorkUnit createIngressWorkUnit()
Creates a new WorkUnit. The WorkUnit's state is set to ingress.

Returns:
Returns a new ingress WorkUnit with a unique task ID.

createIngressWorkUnit

public static WorkUnit createIngressWorkUnit(java.lang.String taskID)
Creates a new WorkUnit with the given task ID. The WorkUnit's state is set to ingress.

Parameters:
taskID - The task ID to set for the new WorkUnit.
Returns:
Returns a new ingress WorkUnit with the given task ID.

createResult

public static Result createResult()
Returns:
Returns a new Result with a unique task ID.

createResult

public static Result createResult(java.lang.String taskID)
Creates a new Result with the given task ID.

Parameters:
taskID - The task ID to set for the new Result.
Returns:
Returns a new Result with the given task ID.

createIngressResult

public static Result createIngressResult()
Creates a new Result. The Result's state is set to ingress.

Returns:
Returns a new ingress Result with a unique task ID.

createIngressResult

public static Result createIngressResult(java.lang.String taskID)
Creates a new Result with the given task ID. The Result's state is set to ingress.

Parameters:
taskID - The task ID to set for the new Result.
Returns:
Returns a new ingress Result with the given task ID.

generateTaskID

private static java.lang.String generateTaskID(java.lang.String prefix)
Returns:
Returns a unique task ID based on the current time and an integer [0,99].

generateWorkUnitID

private static java.lang.String generateWorkUnitID()
Returns:
a unique work unit ID.

generateResultID

private static java.lang.String generateResultID()
Returns:
a unique result ID.