/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.execution.api; import java.io.File; import java.util.List; import java.util.Map; import de.rcenvironment.core.communication.common.LogicalNodeId; import de.rcenvironment.core.component.model.api.ComponentDescription; import de.rcenvironment.core.component.model.endpoint.api.EndpointDatum; import de.rcenvironment.core.component.model.endpoint.api.EndpointDatumRecipient; /** * Component-specific {@link ExecutionContext}. * * @author Doreen Seider */ public interface ComponentExecutionContext extends ExecutionContext { /** * @return {@link ComponentDescription} of the component executed */ ComponentDescription getComponentDescription(); /** * @return <code>true</code> if the component executed receives {@link EndpointDatum}s from other components, otherwise * <code>false</code> */ boolean isConnectedToEndpointDatumSenders(); /** * @return {@link EndpointDatumRecipient} sorted by component's output names */ Map<String, List<EndpointDatumRecipient>> getEndpointDatumRecipients(); /** * @return the workflow node id of the component executed within associated workflow */ LogicalNodeId getWorkflowNodeId(); /** * @return execution identifier of the associated workflow */ String getWorkflowExecutionIdentifier(); /** * @return instance name of the associated workflow */ String getWorkflowInstanceName(); /** * @return {@link WorkflowGraph} instance with graph information of the associated workflow */ WorkflowGraph getWorkflowGraph(); /** * @return working directory execution identifier of the associated workflow */ File getWorkingDirectory(); /** * @return data management id of the component instance */ Long getInstanceDataManagementId(); /** * @return data management id of the workflow instance */ Long getWorkflowInstanceDataManagementId(); /** * @return data management ids of the inputs */ Map<String, Long> getInputDataManagementIds(); /** * @return data management ids of the outputs */ Map<String, Long> getOutputDataManagementIds(); }