private void addTailStage(Stage<DATA> lastStage) { Stage<DATA> tail = lastStage; if (!transformations.isEmpty()) { tail = convertTransformations(lastStage); } if (rootStage != null) { this.lastStage.setDefaultNext(tail); } else { rootStage = tail; } }
@Override public Stage<DATA> build() { return build(null); }
@Override public Stage<DATA> build() { return build(null); }
@Override public Stage<DATA> build() { return build(null); }
@Override public Stage<DATA> build(Stage<DATA> stage) { addTailStage(stage); return rootStage; }
/** * Start building a stage chain. * * @param rootStage root {@link ChainableStage chainable linear stage}. * @return linear accepting chain builder. */ public static <DATA> Stage.Builder<DATA> chain(ChainableStage<DATA> rootStage) { return new StageChainBuilder<DATA>(rootStage); }
/** * Start building a stage chain. * * @param transformation root transformation function. * @return linear accepting chain builder. */ public static <DATA> Stage.Builder<DATA> chain(Function<DATA, DATA> transformation) { return new StageChainBuilder<DATA>(transformation); }
/** * Start building a stage chain. * * @param transformation root transformation function. * @return linear accepting chain builder. */ public static <DATA> Stage.Builder<DATA> chain(Function<DATA, DATA> transformation) { return new StageChainBuilder<DATA>(transformation); }
@Override public Stage<DATA> build(Stage<DATA> stage) { addTailStage(stage); return rootStage; }
private void addTailStage(Stage<DATA> lastStage) { Stage<DATA> tail = lastStage; if (!transformations.isEmpty()) { tail = convertTransformations(lastStage); } if (rootStage != null) { this.lastStage.setDefaultNext(tail); } else { rootStage = tail; } }
@Override public Stage<DATA> build() { return build(null); }
@Override public Stage.Builder<DATA> to(final ChainableStage<DATA> stage) { addTailStage(stage); lastStage = stage; return this; }
private void addTailStage(Stage<DATA> lastStage) { Stage<DATA> tail = lastStage; if (!transformations.isEmpty()) { tail = convertTransformations(lastStage); } if (rootStage != null) { this.lastStage.setDefaultNext(tail); } else { rootStage = tail; } }
@Override public Stage.Builder<DATA> to(final ChainableStage<DATA> stage) { addTailStage(stage); lastStage = stage; return this; }
private void addTailStage(Stage<DATA> lastStage) { Stage<DATA> tail = lastStage; if (!transformations.isEmpty()) { tail = convertTransformations(lastStage); } if (rootStage != null) { this.lastStage.setDefaultNext(tail); } else { rootStage = tail; } }
@Override public Stage.Builder<DATA> to(final ChainableStage<DATA> stage) { addTailStage(stage); lastStage = stage; return this; }
@Override public Stage<DATA> build(Stage<DATA> stage) { addTailStage(stage); return rootStage; }
@Override public Stage.Builder<DATA> to(final ChainableStage<DATA> stage) { addTailStage(stage); lastStage = stage; return this; }
/** * Start building a stage chain. * * @param rootStage root {@link ChainableStage chainable linear stage}. * @return linear accepting chain builder. */ public static <DATA> Stage.Builder<DATA> chain(ChainableStage<DATA> rootStage) { return new StageChainBuilder<DATA>(rootStage); }
@Override public Stage.Builder<DATA> to(final ChainableStage<DATA> stage) { addTailStage(stage); lastStage = stage; return this; }