> 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