This is a resurrection of #1115 which had closed in favor of #1192 but that change may be too radical. I still think it's a great idea but maybe this can get approved first.
This is a good move into the right direction! So following suggestion should not prevent this from being reviewed, tested and merged:
Architecturally, I believe it would be even better to have the common part refactored into either a small common intermediate abstract class from which all 3 extend ? or even better, to a third class with an Interface class that gets injected using DI ? That would decrease dependencies (an important software architecture measure nowadays) instead of increasing them ?
Hmm. These are some good ideas. Let me think about them for a day or two. If you look at what #1192 does, the getOptions function mostly gets removed anyway. The idea there is there that there will be different option types which each generate one or more option items. Since I'd still like to see that idea used in the future, I'll see what can be done at this point to move in that direction.
To test this patch, you only really need to use a JForm which uses radio buttons or checkboxes (plural). Their options should be intact and working properly.
This is a good move into the right direction! So following suggestion should not prevent this from being reviewed, tested and merged:
Architecturally, I believe it would be even better to have the common part refactored into either a small common intermediate abstract class from which all 3 extend ? or even better, to a third class with an Interface class that gets injected using DI ? That would decrease dependencies (an important software architecture measure nowadays) instead of increasing them ?