org.apache.jackrabbit.api
Interface JackrabbitValue

All Superinterfaces:
Value
All Known Implementing Classes:
BinaryValueImpl

public interface JackrabbitValue
extends Value

Values returned by Jackrabbit may implement this interface. The interface defines optional features. An application should check if the returned value is of this type before casting as in:

 if (v instanceof JackrabbitValue) {
     JackrabbitValue j = (JackrabbitValue) v;
     ....
 }
 


Method Summary
 String getContentIdentity()
          Get a unique identifier of the content of this value.
 
Methods inherited from interface javax.jcr.Value
getBoolean, getDate, getDouble, getLong, getStream, getString, getType
 

Method Detail

getContentIdentity

String getContentIdentity()
Get a unique identifier of the content of this value. Usually this is a message digest of the content (a cryptographically secure one-way hash). This allows to avoid processing large binary values multiple times.

This method returns null if the identifier is unknown. The identifier may not always be available, for example if the value has not yet been saved or processed. Once an identifier is available, it will never change because values are immutable.

If two values have the same identifier, the content of the value is guaranteed to be the same. However it is not guaranteed that two values with the same content will return the same identifier.

The identifier is opaque, meaning it can have any format and size, however it is at normally about 50 characters and at most 255 characters long. The string only contains Unicode code points from 32 to 127 (including).

Returns:
the unique identifier or null


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.