Interface IncompletePipelineChange

All Superinterfaces:
Function<Answer,PipelineChange>
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface IncompletePipelineChange extends Function<Answer,PipelineChange>

An IncompletePipelineChange is a promise to return a PipelineChange once the defining answer is specified.

The reason for the IncompletePipelineChange is to allow the build point API to be simpler/nicer to use e.g.

Note that it's not valid/sensible for the supplied answer to be different to the one that actually triggered the build point

questions.addChange(input -> { return PipelineChange.newChain( "input(relation: '%s', name: 'exposure') as exposure_input", input.getResponse(ResolvedBookmark.class).getId() ); }).after("exposure");

vs

questions.addChange(input -> { // need to pass the answer from the input each time return PipelineChange.newChain(input.getAnswer(), "input(relation: '%s', name: 'exposure') as exposure_input", input.getResponse(ResolvedBookmark.class).getId() ); }).after("exposure");