/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.workflow.execution.internal; import de.rcenvironment.core.component.workflow.execution.api.WorkflowExecutionContext; /** * Creates instances used when executing a workflow. * * @author Doreen Seider */ public interface WorkflowExecutionRelatedInstancesFactory { /** * Creates new instance of {@link ComponentLostWatcher}. * * @param wfExeCtx {@link WorkflowExecutionContext} of the workflow the new {@link ComponentLostWatcher} instance is associated with * @param compStatesEntirelyChangedVerifier {@link ComponentStatesChangedEntirelyVerifier} of the workflow the new * {@link ComponentLostWatcher} instance is associated with * @return new instance of {@link ComponentLostWatcher} */ ComponentLostWatcher createComponentLostWatcher(WorkflowExecutionContext wfExeCtx, ComponentStatesChangedEntirelyVerifier compStatesEntirelyChangedVerifier); /** * Creates {@link ComponentsConsoleLogFileWriter} instance, which handles the console log files of all the given components. * * @param wfExeStorageBridge {@link WorkflowExecutionStorageBridge} instance related to the components' workflow * @return new {@link ComponentsConsoleLogFileWriter} instance */ ComponentsConsoleLogFileWriter createComponentConsoleLogFileWriter(WorkflowExecutionStorageBridge wfExeStorageBridge); /** * Creates instances of {@link ComponentStatesChangedEntirelyVerifier}. * * @param componentCount amount of components in the workflow * @return newly created instance of {@link ComponentStatesChangedEntirelyVerifier} */ ComponentStatesChangedEntirelyVerifier createComponentStatesEntirelyChangedVerifier(int componentCount); /** * Creates new instance of {@link WorkflowExecutionStorageBridge}. * * @param wfExeCtx {@link WorkflowExecutionContext} of the workflow the new {@link WorkflowExecutionStorageBridge} instance is * associated with * @return new instance of {@link WorkflowExecutionStorageBridge} */ WorkflowExecutionStorageBridge createWorkflowExecutionStorageBridge(WorkflowExecutionContext wfExeCtx); /** * Creates new instance of {@link WorkflowStateMachine}. * * @param wfStateMachineCtx {@link WorkflowStateMachineContext} that belongs to the workflow the new {@link WorkflowStateMachine} * instance is associated with * @return new instance of {@link WorkflowStateMachine} */ WorkflowStateMachine createWorkflowStateMachine(WorkflowStateMachineContext wfStateMachineCtx); }