org.squashtest.csp.tm.domain.execution
Enum ExecutionStatus

java.lang.Object
  extended by java.lang.Enum<ExecutionStatus>
      extended by org.squashtest.csp.tm.domain.execution.ExecutionStatus
All Implemented Interfaces:
Serializable, Comparable<ExecutionStatus>, Internationalizable

public enum ExecutionStatus
extends Enum<ExecutionStatus>
implements Internationalizable

This class declare the 5 executions status. Also, it declares and additional methods to update the new execution status of an execution, based on the former states of the execution, of the step, and the new status of the step. See their documentation for details.

Definitions :

Author:
bsiri

Enum Constant Summary
BLOCKED
           
FAILURE
           
READY
           
RUNNING
           
SUCCESS
           
 
Field Summary
protected static ExecutionStatus isAmbiguous
           
protected static ExecutionStatus needsComputation
           
 
Method Summary
static ExecutionStatus computeNewStatus(ExecutionStatusReport report)
          will compute from scratch a status using a complete report.
protected  boolean couldHaveSetExecStatusAlone(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
 ExecutionStatus deduceNewStatus(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
          will deduce the new status of an execution based on the former execution status and former step status.
 String getI18nKey()
           
protected  boolean hasChanged(ExecutionStatus formerStepStatus)
           
protected  boolean isNoneOf(ExecutionStatus... status)
           
protected  boolean isOneOf(ExecutionStatus... status)
           
protected  boolean isSetToExecutionStatus(ExecutionStatus formerExecutionStatus)
           
 boolean isTerminatedStatus()
          This methods checks if the status is RUNNING or READY
protected  boolean mayUnlockBloquedExecution(ExecutionStatus formerStepStatus)
           
protected abstract  ExecutionStatus resolveStatus(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
protected  ExecutionStatus trivialDeductions(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
protected  boolean trivialNeedComputation(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
static ExecutionStatus valueOf(String name)
          Returns the enum constant of this type with the specified name.
static ExecutionStatus[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
protected  boolean wontUnlockBloquedExecution(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

BLOCKED

public static final ExecutionStatus BLOCKED

FAILURE

public static final ExecutionStatus FAILURE

SUCCESS

public static final ExecutionStatus SUCCESS

RUNNING

public static final ExecutionStatus RUNNING

READY

public static final ExecutionStatus READY
Field Detail

isAmbiguous

protected static ExecutionStatus isAmbiguous

needsComputation

protected static ExecutionStatus needsComputation
Method Detail

values

public static ExecutionStatus[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (ExecutionStatus c : ExecutionStatus.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static ExecutionStatus valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

deduceNewStatus

public ExecutionStatus deduceNewStatus(ExecutionStatus formerExecutionStatus,
                                       ExecutionStatus formerStepStatus)
will deduce the new status of an execution based on the former execution status and former step status. "this" is here the new step status. In some case the deduction is impossible and a further computation will be necessary.

Parameters:
formerExecutionStatus - : the former execution status
formerStepStatus - : the former step status
Returns:
: the new execution status when possible, or null if it wasn't. The later usually means that a call to the database is needed.

computeNewStatus

public static ExecutionStatus computeNewStatus(ExecutionStatusReport report)
will compute from scratch a status using a complete report.

Parameters:
report - : ExecutionStatusReport.
Returns:
: ExecutionStatus.

trivialDeductions

protected ExecutionStatus trivialDeductions(ExecutionStatus formerExecutionStatus,
                                            ExecutionStatus formerStepStatus)

trivialNeedComputation

protected boolean trivialNeedComputation(ExecutionStatus formerExecutionStatus,
                                         ExecutionStatus formerStepStatus)

resolveStatus

protected abstract ExecutionStatus resolveStatus(ExecutionStatus formerExecutionStatus,
                                                 ExecutionStatus formerStepStatus)

hasChanged

protected boolean hasChanged(ExecutionStatus formerStepStatus)

isSetToExecutionStatus

protected boolean isSetToExecutionStatus(ExecutionStatus formerExecutionStatus)

wontUnlockBloquedExecution

protected boolean wontUnlockBloquedExecution(ExecutionStatus formerExecutionStatus,
                                             ExecutionStatus formerStepStatus)

mayUnlockBloquedExecution

protected boolean mayUnlockBloquedExecution(ExecutionStatus formerStepStatus)

couldHaveSetExecStatusAlone

protected boolean couldHaveSetExecStatusAlone(ExecutionStatus formerExecutionStatus,
                                              ExecutionStatus formerStepStatus)

isNoneOf

protected boolean isNoneOf(ExecutionStatus... status)

isOneOf

protected boolean isOneOf(ExecutionStatus... status)

isTerminatedStatus

public boolean isTerminatedStatus()
This methods checks if the status is RUNNING or READY

Returns:
true if the status is not RUNNING or READY

getI18nKey

public String getI18nKey()
Specified by:
getI18nKey in interface Internationalizable
Returns:
the non null key used to get this object's i18n'd message.


Copyright © 2010-2012 Squashtest TM, Squashtest.org. All Rights Reserved.