I see that the BaseBlobStore and BaseProviderMetadata classes can have some
implemented methods. But then what is the use of the interface on top of
that?

The Base* classes are intended mainly as convenience classes for *implementers* of providers. The implemented methods you've found provide common functionality that otherwise would probably have to be re-implemented in very similar ways in each provider.

The interfaces are intended to be used/programmed against by *users*. So users would pretty much always be recommended to write:

BlobStore blobStore = ctx.getBlobStore();

rather than

BaseBlobStore blobStore = (BaseBlobStore) ctx.getBlobStore(); // arararrgh!!

Are you looking to implement your own blobstore provider, by any chance?

ap

Reply via email to