/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.execution.internal; import java.util.concurrent.atomic.AtomicReference; import de.rcenvironment.core.component.execution.api.BatchingConsoleRowsForwarder; import de.rcenvironment.core.component.execution.api.Component; import de.rcenvironment.core.component.execution.api.ComponentExecutionContext; import de.rcenvironment.core.component.execution.api.WorkflowExecutionControllerCallbackService; /** * Stores instances that are used when executing a {@link Component} and that need to be shared by multiple instances. This approach is not * intended to be a perfect solution but to be a migration path. It was introduced to purge ComponentExecutionControllerImpl. * * @author Doreen Seider */ public class ComponentExecutionRelatedInstances { protected AtomicReference<Component> component = new AtomicReference<Component>(null); protected ComponentContextBridge compCtxBridge; protected ComponentExecutionContext compExeCtx; protected ComponentStateMachine compStateMachine; protected ComponentExecutionScheduler compExeScheduler; protected ComponentExecutionStorageBridge compExeStorageBridge; protected ComponentExecutionRelatedStates compExeRelatedStates; protected ConsoleRowsSender consoleRowsSender; protected TypedDatumToOutputWriter typedDatumToOutputWriter; protected BatchingConsoleRowsForwarder batchingConsoleRowsForwarder; protected WorkflowExecutionControllerCallbackService wfExeCtrlBridge; protected WorkflowExecutionControllerBridgeDelegator wfExeCtrlBridgeDelegator; protected int timestampOffsetToWorkfowNode = 0; protected boolean isNestedLoopDriver; }