> Fair point. So this is more about dynamic adaptability than future
> extendibility. But AFIU this could still be achieved without the full
> adaptable machinery:
>
> if (binProp instanceOf SignableBin) {
>   URI uri = ((SignableBin) binProp).getSignedURI();
>   if (uri != null) {
>     // resolve URI etc.
>   }
> }

This would be tricky. The current logic is like below.

1. Oak JCR BinaryImpl holds a ValueImpl
2. ValueImpl -> PropertyState -> Blob
3. From Blob following paths are possible
   - Blob -> SegmentBlob -> BlobStoreBlob -> DataRecord -> S3DataRecord
   - Blob -> ArrayBasedBlob
   - Blob ... MongoBlob

So at JCR level where we have a PropertyState we cannot determine if
the Blob provided by it can provide a signed binary without adding
such instance of check at each place. Hence the adaptor based proposal

Chetan Mehrotra

Reply via email to