@Override public Optional<CardinalityEstimator> createCardinalityEstimator(int outputIndex, Configuration configuration) { switch (outputIndex) { case ITERATION_OUTPUT_INDEX: case FINAL_OUTPUT_INDEX: return Optional.of(new SwitchForwardCardinalityEstimator(INITIAL_INPUT_INDEX, ITERATION_INPUT_INDEX)); default: throw new IllegalArgumentException("Illegal output index " + outputIndex + "."); } }
@Override public Optional<CardinalityEstimator> createCardinalityEstimator(int outputIndex, Configuration configuration) { switch (outputIndex) { case ITERATION_OUTPUT_INDEX: case FINAL_OUTPUT_INDEX: return Optional.of(new SwitchForwardCardinalityEstimator(INITIAL_INPUT_INDEX, ITERATION_INPUT_INDEX)); default: throw new IllegalArgumentException("Illegal output index " + outputIndex + "."); } }
@Override public Optional<CardinalityEstimator> createCardinalityEstimator(int outputIndex, Configuration configuration) { switch (outputIndex) { case ITERATION_CONVERGENCE_OUTPUT_INDEX: return Optional.of(new SwitchForwardCardinalityEstimator( INITIAL_CONVERGENCE_INPUT_INDEX, ITERATION_CONVERGENCE_INPUT_INDEX )); case ITERATION_OUTPUT_INDEX: case FINAL_OUTPUT_INDEX: return Optional.of(new SwitchForwardCardinalityEstimator(INITIAL_INPUT_INDEX, ITERATION_INPUT_INDEX)); default: throw new IllegalArgumentException("Illegal output index " + outputIndex + "."); } }