On 03/05/2016 15:36, Chetan Mehrotra wrote:
> ...
> //Check if Binary is of type AdaptableBinary
> if (binProp instanceof AdaptableBinary){Would it be possible to avoid the `instaceof`? Which means, in my opinion, all our binaries should be Adaptable. In case the implementation is not it can return null. Would it work fine as API contract? It would ease the usage of such API. Plus I would add anyhow an oak.api interface Adaptable so that we can then, if needed, apply the same concept anywhere else. > ... > > 1. Depending on backing BlobStore the binary can be adapted to various > types. For FileDataStore it can be adapted to File. For S3DataStore it can > either be adapted to URL or some S3DataStore specific type. +1 > ... > > 2. Security - Thomas suggested that for better security the ability to > adapt should be restricted based on session permissions. So if the user has > required permission then only adaptation would work otherwise null would be > returned. +1 > ... > > 4. This API is for now exposed only at JCR level. Not sure should we do it > at Oak level as Blob instance are currently not bound to any session. So > proposal is to place this in 'org.apache.jackrabbit.oak.api' package As said above I would create an Adaptable interface at oak level and then use it where needed. It's a powerful tool. Cheers Davide
