<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hey,</div><div><br></div><div>It’s me again with more changes to the DataManager API. I’ve tried many different approaches and this one is basically the only one I got to work as intended (these are only interfaces, no real implementation, but that’s not a problem as it won’t make it much difficult to change current implementations to match those interfaces). Basically, it’s not the best and I had better APIs, but they unfortunately weren’t possible because of restrictions in Java.</div><div><br></div><div>You can find the draft here: <a href="https://gist.github.com/TadeasKriz/e0f5583e2a24c32dc253">https://gist.github.com/TadeasKriz/e0f5583e2a24c32dc253</a></div><div><br></div><div>What can I say about this API is, that in this approach the user shouldn’t need to cast the Store<T> (which is real pain in current API) unless he really needs to (like some methods that’ll be available only for the store he wants). In other cases, when the cast is not needed, users will be able to just work with the Store<T> and change the underlying store as they like. So let’s say they’ll be working with MemoryStore in development, because it’s easier to debug. Then the release will be closing in, they’ll just switch to SQLStore very easily.</div><div><br></div><div>So, what do you think guys?</div><br><div apple-content-edited="true">
<div>—</div><div>Tadeas Kriz</div><div><a href="mailto:tkriz@redhat.com">tkriz@redhat.com</a></div>
</div>
<br></body></html>