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
>
>
signature.asc
Description: OpenPGP digital signature
