JavaHL and interfaces, backward compat question
From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Fri, 26 Mar 2010 18:27:23 -0500
In creating an interface (which we have) for our client API, we could also create interfaces for the objects that interface references. The primary reason for doing so is enabling third-party implentors to do so without having to actually use any of our objects, giving them (and us, ultimately) more flexibility for compatibility.
This does add an additional question: if third-parties are implementing these interfaces, and we chose to add more functionality them (and hence more APIs) to the interfaces, does this break backward compat? Code that formerly compiled against an interface which now includes another function definition would no longer compile, yes? If so, does that consistute a broken backward compat? What if somebody just dropped in the new jar, and didn't recompile?
If adding interfaces to the JavaHL API means that we'll need to rev them (not just extend them) in the event we add more data to those interfaces/objects, I don't know that it's worth the work.
This is an archived mail posted to the Subversion Dev mailing list.