org.apache.jackrabbit.core.persistence.util
Interface BLOBStore

All Known Subinterfaces:
BundleDbPersistenceManager.CloseableBLOBStore, BundleFsPersistenceManager.CloseableBLOBStore, ResourceBasedBLOBStore
All Known Implementing Classes:
BundleDbPersistenceManager.DbBlobStore, BundleDbPersistenceManager.FSBlobStore, FileSystemBLOBStore

public interface BLOBStore

BLOBStore represents an abstract store for binary property values (BLOBs).

Note that The DataStore should nowadays be used instead of the BLOBStore. This interface and the implementing classes are kept mostly for backwards compatibility.

See Also:
ResourceBasedBLOBStore

Method Summary
 String createId(PropertyId id, int index)
          Creates a unique identifier for the BLOB data associated with the given property id and value subscript.
 InputStream get(String blobId)
          Retrieves the BLOB data with the specified id as a binary stream.
 void put(String blobId, InputStream in, long size)
          Stores the BLOB data and returns a unique identifier.
 boolean remove(String blobId)
          Removes the BLOB data with the specified id.
 

Method Detail

createId

String createId(PropertyId id,
                int index)
Creates a unique identifier for the BLOB data associated with the given property id and value subscript.

Parameters:
id - id of the property associated with the BLOB data
index - subscript of the value holding the BLOB data
Returns:
a string identifying the BLOB data

put

void put(String blobId,
         InputStream in,
         long size)
         throws Exception
Stores the BLOB data and returns a unique identifier.

Parameters:
blobId - identifier of the BLOB data as returned by createId(PropertyId, int)
in - stream containing the BLOB data
size - size of the BLOB data
Throws:
Exception - if an error occured

get

InputStream get(String blobId)
                throws Exception
Retrieves the BLOB data with the specified id as a binary stream.

Parameters:
blobId - identifier of the BLOB data as returned by createId(PropertyId, int)
Returns:
an input stream that delivers the BLOB data
Throws:
Exception - if an error occured

remove

boolean remove(String blobId)
               throws Exception
Removes the BLOB data with the specified id.

Parameters:
blobId - identifier of the BLOB data as returned by createId(PropertyId, int)
Returns:
true if BLOB data with the given id exists and has been successfully removed, false if there's no BLOB data with the given id.
Throws:
Exception - if an error occured


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