in datasource-client/src/main/java/org/apache/seatunnel/datasource/configuration/ReadonlyConfig.java [75:96]
public <T> Optional<T> getOptional(Option<T> option) {
if (option == null) {
throw new NullPointerException("Option not be null.");
}
String[] keys = option.key().split("\\.");
Map<String, Object> data = this.confData;
Object value = null;
for (int i = 0; i < keys.length; i++) {
value = data.get(keys[i]);
if (i < keys.length - 1) {
if (!(value instanceof Map)) {
return Optional.empty();
} else {
data = (Map<String, Object>) value;
}
}
}
if (value == null) {
return Optional.empty();
}
return Optional.of(convertValue(value, option.typeReference()));
}