Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Deprecate getXXX(String key, XXX defaultValue) and setXXX(String key, XXX value), discussed in the preview thread, except the following:
    • getString(String key, String defaultValue)
    • setString(String key, String value)
    • getBytes(String key, byte[] defaultValue) will be marked as @Internal
    • setBytes(String key, byte[] bytes) will be marked as @Internal
    • getClass(String key, Class<? extends T> defaultValue, ClassLoader classLoader) will be marked as @Internal

    • setClass(String key, Class<?> klazz) will be marked as @Internal
  • Update the comment in getString(String key, String defaultValue) and setString(String key, String value) to encourage users to use ConfigOption.

...

2.2.2 Introduce public <T> T get(ConfigOption<T> configOption, @Nonnull T overrideDefault)


Code Block

    /**
     * Returns the value associated with the given config option as a T. If no value is mapped
     * under any key of the option, it returns the specified default instead of the option's default
     * value.
     *
     * @param configOption The configuration option
     * @param overrideDefault The value to return if no value was mapper for any key of the option
     * @return the (default) value associated with the given config option
     */
    @Nonnull
    @PublicEvolving
    public <T> T get(ConfigOption<T> configOption, @Nonnull T overrideDefault) {
        return getOptional(configOption).orElse(overrideDefault);
    }

...