Actually I wanted to propose a slight change to the proposal. Therefore
I want to change my vote to -1 for now.

I suggest to change the Configurable interface to ConfigurableFactory:

public interface ConfigurableFactory<T> {


    /**

    * Creates an instance from the given configuration.

    */

    TfromConfiguration(ConfigurationReader configuration);


    /**

    * Writes this instance to the given configuration.

    */

    void toConfiguration(T value, ConfigurationWriter configuration);

}

And the corresponding method in the builder to:

<T> TypedConfigOptionBuilder<T> configurableType(Class<? extends
ConfigurableFactory<T>> clazz) {

   return new TypedConfigOptionBuilder<>(key, clazz);

}
This way we can keep the "configurable" objects immutable.

Best,

Dawid

On 27/08/2019 13:28, Timo Walther wrote:
> Hi everyone,
>
> thanks for the great feedback we have received for the draft of
> FLIP-54. The discussion seems to have reached an agreement. Of course
> this doesn't mean that we can't propose further improvements on
> ConfigOption's and Flink configuration in general in the future. It is
> just one step towards having a better unified configuration for the
> project.
>
> Please vote for the following design document:
>
> https://docs.google.com/document/d/1IQ7nwXqmhCy900t2vQLEL3N2HIdMg-JO8vTzo1BtyKU/edit#
>
>
> I will convert it to a Wiki page afterwards.
>
> Thanks,
> Timo
>
>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to