[ 
https://issues.apache.org/jira/browse/JCR-1892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12661972#action_12661972
 ] 

Thomas Mueller commented on JCR-1892:
-------------------------------------

> expectations about the string length

Sure, what about "The string is normally about 50 characters long."

> With the current definition the implementation could simply return the base64 
> encoding of the entire binary value!

For very short binaries it may make sense to do that.

> Do we need the DataStore.hasRecord() method?

No. Currently, DbDataStore.getRecord() throws an exception if the record 
doesn't exist, I wanted to avoid that.

> race conditions with the garbage collection

Good point! What about getRecordIfStored()? getRecord() would then just call 
that method and throw an exception if it returns null.

> BinaryValueImpl.getContentIdentity() I'd use 
> blob.getDataIdentifier().toString()

Ups, that was my plan...

> not call getContentIdentity() internally

You are right of course.


> Unique ID for org.apache.jackrabbit.value.BinaryValue
> -----------------------------------------------------
>
>                 Key: JCR-1892
>                 URL: https://issues.apache.org/jira/browse/JCR-1892
>             Project: Jackrabbit
>          Issue Type: New Feature
>          Components: jackrabbit-jcr-commons
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>         Attachments: JackrabbitValue-api.patch, JackrabbitValue-core.patch
>
>
> BinaryValue should have a method get the unique identifier (if one is 
> available). That way an application may not have to read the stream if that 
> value is already processed.
> When the DataStore is used, a unique identifier is available, so probably 
> this feature is quite simple to implement.
> See also http://www.nabble.com/Workspace.copy()-Question-...-td20435164.html 
> (but please don't reply to this thread from now on - instead add comments to 
> this issue).
> Another feature is getFileName() to get the file name if it is stored in the 
> file system. This method may need a security mechanism, for example 
> getFileName(Session s) so that the system can check it. In any case the file 
> should not be modified, but maybe knowing the file name is already too 
> dangerous in some cases.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to