lightblue-platform / lightblue-migrator

GNU General Public License v3.0
3 stars 13 forks source link

More fun with bounds #318

Closed paterczm closed 8 years ago

paterczm commented 8 years ago

Previous changes to require facaded services to implement SharedStoreSetter did not require those services to implement a common interface used to create the facade proxy. Can't really call that an improvement.

Java does not allow typed argument with both typed and static bounds, i.e. <D extends SharedStoreSetter & T> does not compile. To work around this limitation and to ensure that facaded services implement both the facade interface and SharedStoreSetter, I'm using <T extends D,D extends SharedStoreSetter>. This makes the facade interface - T - require to implement SharedStoreSetter. It does not logically belong to the facade interface, but I guess I can live with that.

Yet another breaking change.