Chesnay Schepler created FLINK-6577: ---------------------------------------
Summary: Expand supported types for ConfigOptions Key: FLINK-6577 URL: https://issues.apache.org/jira/browse/FLINK-6577 Project: Flink Issue Type: Wish Components: Configuration Reporter: Chesnay Schepler The type of a {{ConfigOption}} is currently limited to the types the that {{Configuration}} supports, which boils down to basic types and byte arrays. It would be useful if they could also return things like enums, or the recently added {{MemorySize}}. I propose adding a {{fromConfiguration(Configuration}} method to the {{ConfigOption}} class. {code} // ConfigOption definition ConfigOption<MemorySize> MEMORY = key("memory") .defaultValue(new MemorySize(12345)) .from(new ExtractorFunction<MemorySize>() { MemorySize extract(Configuration config) { // add check for unconfigured option return MemorySize.parse(config.getString("memory");} }); // usage MemorySize memory = MEMORY.fromConfiguration(config); // with default MemorySize memory = MEMORY.fromConfiguration(config, new MemorySize(12345); // internals of ConfigOption#fromConfiguration <T> fromConfiguration(Configuration config) { if (this.extractor == null) { // throw error or something } T value = this.extractor.extract(config); return value == null ? defaultValue : value; } {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)