Interface PipelineRealizer


public interface PipelineRealizer

Methods for converting PipelineDeclarations in to RealizedPipelines

  • Method Details

    • populateUnboundFromExpression

      static void populateUnboundFromExpression(RealizationContext context, Parameter parameter, String parameterNameOrAlias, AST value, Map<String,List<?>> parameters, Consumer<List<Problem>> problemConsumer)

      Common handling for populating an unbound parameter from an expression, with some specific handling for realizing expressions or binding expressions straight-to the parameterMap

      Parameters:
      context - for realizing constants
      parameter - the parameter to bind
      parameterNameOrAlias - the name or alias that was used to reference the parameter
      value - the expression being bound
      parameters - map to populate
      problemConsumer - where to put errors with realizing constants
    • realize

      RealizedPipeline realize(PipelineDeclaration pipeline, Map<String,Expression> pipelineParameters)

      Realizes a PipelineDeclaration in to a RealizedPipeline. A realized pipeline is effectively 'compiled' at this point to the extent that we know the various functions exist and that it is type safe. It can now be handed over to a PipelineExecutor for execution.

      Parameters:
      pipeline - the pipeline declaration (may contain parameter tokens)
      pipelineParameters - map of parameter names to expressions to use during expression realization.
    • realize

      default RealizedPipeline realize(PipelineDeclaration pipeline)

      Realizes a PipelineDeclaration with no parameters.

    • realize

      RealizedPipeline realize(RealizedPipeline addTo, PipelineDeclaration pipeline, Map<String,Expression> pipelineParameters)

      Incremental version of #realize(ExecutionContext, PipelineDeclaration, Map) that realizes a pipeline "on top" of another pipeline, e.g. new steps should be added in on top of the existing pipeline.

      This method is here to support Steps that want to realize some kind of sub pipeline that gets executed as part of the parent.

      Parameters:
      addTo - the pipeline to add steps to
      pipeline - the pipeline declaration (may contain parameter tokens)
      pipelineParameters - map of parameter names to expressions to substitute
    • realize

      default RealizedPipeline realize(RealizedPipeline addTo, PipelineDeclaration pipeline)

      Realizes a pipeline on top of another with no parameters.