On 8 Jan 2013, at 1:38 PM, Sanne Grinovero <sanne(a)hibernate.org> wrote:
Guys let's put this into perspective.
These arguments I'm hearing against adding a method in a power-user
oriented SPI are way outbalancing the harm they do to the project in
terms of release delays and our very own time, there are definitely
more interesting issues to dedicate our time on.
The discussion is about more than adding a method a single method.
We have a general disagreement on how to evolve an API.
I appreciate the tech discussions, but ultimately here we're
talking
about an experimental interface which most users won't care about.
I dislike the argument that just because I mark an interface as experimental I
can add whatever I want to it, abandoning other sounds design principles.
- sane (no null parameters)
I'd rather deal with a potential null parameter in a context object in exchange in
for simple and easy to grasp interface.
- fulfill the requirements of flexibilty that we expect from a user
extension point (be able to return a Set)
IMO returning a set is pure guess work. Either you know your shard it or not.
In which case would you return multiple?
Alternatively for the sake of moving forward, I'll craft a pull
which
just adds the @Experimental and some docs warnings, but I think we're
failing to deliver a good feature which is ready to be delivered today
-> very sad.
Still my preferred choice for now in order to get the release out of the door.
--Hardy