/** * If the value to be returned by {@link StorageClientSettings#statsLogger()} is present, replaces * it by applying {@code mapper} to it and using the result. * * <p>If the result is null, clears the value. * * @return this {@code Builder} object * @throws NullPointerException if {@code mapper} is null */ public StorageClientSettings.Builder mapStatsLogger(UnaryOperator<StatsLogger> mapper) { return statsLogger(statsLogger().map(mapper)); }
/** * Sets the value to be returned by {@link StorageClientSettings#statsLogger()}. * * @return this {@code Builder} object */ public StorageClientSettings.Builder statsLogger(Optional<? extends StatsLogger> statsLogger) { if (statsLogger.isPresent()) { return statsLogger(statsLogger.get()); } else { return clearStatsLogger(); } }
/** * Sets the value to be returned by {@link StorageClientSettings#statsLogger()}. * * @return this {@code Builder} object */ public StorageClientSettings.Builder nullableStatsLogger(@Nullable StatsLogger statsLogger) { if (statsLogger != null) { return statsLogger(statsLogger); } else { return clearStatsLogger(); } }