/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.workflow.execution.api; /** * States of a workflow. * * @author Doreen Seider */ public enum WorkflowState { /** Initial. */ INIT("Init"), /** Starting. */ STARTING("Starting"), /** Preparing. */ PREPARING("Preparing"), /** Running. */ RUNNING("Running"), /** Pausing. */ PAUSING("Pausing"), /** Paused. */ PAUSED("Paused"), /** Running. */ RESUMING("Resuming"), /** Finished. */ FINISHED("Finished"), /** Canceling. */ CANCELING("Canceling"), /** Canceling after failed. */ CANCELING_AFTER_FAILED("Canceling after failure"), /** Canceling after verification failed. */ CANCELING_AFTER_RESULTS_REJECTED("Canceling after results rejected"), /** Canceled. */ CANCELLED("Canceled"), /** Failed. */ FAILED("Failed"), /** Verification failed. */ RESULTS_REJECTED("Results rejected"), /** Disposing. */ DISPOSING("Disposing"), /** Disposed. */ DISPOSED("Disposed"), /** Unknown. */ UNKNOWN("Unknown"), /** Is alive. */ IS_ALIVE("Is alive"); private String displayName; WorkflowState(String displayName) { this.displayName = displayName; } /** * @param workflowState text to check * @return <code>true</code> if given text represents a valid {@link WorkflowState}, otherwise <code>false</code> */ public static boolean isWorkflowStateValidAndUserReadable(String workflowState) { return isWorkflowStateValid(workflowState) && !workflowState.equals(IS_ALIVE.name()); } /** * @param workflowState {@link WorkflowState} to check * @return <code>true</code> if given text represents a valid {@link WorkflowState}, otherwise <code>false</code> */ public static boolean isWorkflowStateUserReadable(WorkflowState workflowState) { return !workflowState.equals(IS_ALIVE); } /** * @param workflowState text to check * @return <code>true</code> if given text represents a valid {@link WorkflowState}, otherwise <code>false</code> */ public static boolean isWorkflowStateValid(String workflowState) { try { valueOf(workflowState); return true; } catch (IllegalArgumentException e) { return false; } } public String getDisplayName() { return displayName; } }