For quite a lot of analyzers we could use a smarter way to configure in situations where input can either be provided in a fixed form (typically an enum) or be dynamic based on input column values.
For instance: Any aggregation could be based on record count (fixed "1" value) or based on some count in a column. To support both options, you would typically provide two @configured properties, leading to a confusion since the user has to decide on one rule using two separate properties.
A rough/initial proposal could be like this:
enum MyOption {
RECORD_COUNT
}
@Configured
DynamicOption<MyOptions, Number> count;
...
MyOption countOption = count.getEnumValue()
InputColumn<Number> countInputColumn = count.getInputColumn();