Class ExecutableInputOutputMap

java.lang.Object
com.genologics.ri.processexecution.ExecutableInputOutputMap
All Implemented Interfaces:
Serializable

public class ExecutableInputOutputMap extends Object implements Serializable
Processes link inputs to outputs and this relationship is called an input-output map. Input-output-map is a child element of the Process element.

When a Process creates multiple outputs per input, there is a distinct input-output map for each input to output relationship. When a Process produces a shared output, there is a single input-output map for the shared output and all its related inputs.

In situations where a Process is used to affect the properties of inputs only and therefore, does not create outputs, you can omit the output element.

See Also:
  • Field Details

    • inputs

      protected List<Input> inputs
      List of input artifacts.
    • output

      protected Output output
      The output artifact.
    • shared

      protected Boolean shared
      Indicates whether the output is shared among multiple inputs.
  • Constructor Details

    • ExecutableInputOutputMap

      public ExecutableInputOutputMap()
      Default constructor.
    • ExecutableInputOutputMap

      public ExecutableInputOutputMap(Boolean shared)
      Constructor with shared flag.
      Parameters:
      shared - Whether the output is shared.
  • Method Details

    • getInputs

      public List<Input> getInputs()
      Gets the list of inputs.
      Returns:
      The input list (never null).
    • setInputs

      public void setInputs(Collection<? extends Linkable<Artifact>> links)
      Sets the inputs from a collection of artifact links.
      Parameters:
      links - The artifact links to set as inputs.
    • addInput

      public Input addInput(Input input)
      Adds an input to the input list.
      Parameters:
      input - The input to add.
      Returns:
      The added input.
    • addInput

      public Input addInput(Linkable<Artifact> link, QCFlag qc)
      Adds an input with a QC flag to the input list.
      Parameters:
      link - The artifact link.
      qc - The QC flag.
      Returns:
      The added input.
    • getOutput

      public Output getOutput()
      Gets the output artifact.
      Returns:
      The output.
    • setOutput

      public Output setOutput(Output output)
      Sets the output artifact.
      Parameters:
      output - The output to set.
      Returns:
      The output that was set.
    • setOutput

      public Output setOutput(OutputType type, LimsEntityLinkable<Container> container, String position)
      Sets the output artifact with type, container, and position.
      Parameters:
      type - The output type.
      container - The container link.
      position - The position in the container.
      Returns:
      The created output.
    • isShared

      public Boolean isShared()
      Checks if the output is shared among multiple inputs.
      Returns:
      True if shared, false otherwise.
    • setShared

      public void setShared(Boolean shared)
      Sets whether the output is shared.
      Parameters:
      shared - Whether the output is shared.