in datasource-client/src/main/java/org/apache/seatunnel/datasource/configuration/util/OptionRule.java [196:212]
public <T> Builder conditional(@NonNull Option<T> conditionalOption, @NonNull T expectValue, @NonNull Option<?>... requiredOptions) {
for (Option<?> o : requiredOptions) {
verifyDuplicate(o, "ConditionalOption");
verifyRequiredOptionDefaultValue(o);
}
verifyConditionalExists(conditionalOption);
/**
* Each parameter can only be controlled by one other parameter
*/
Expression expression = Expression.of(Condition.of(conditionalOption, expectValue));
this.requiredOptions.add(RequiredOption.ConditionalRequiredOptions.of(expression,
new ArrayList<>(Arrays.asList(requiredOptions))));
return this;
}