org.apache.jackrabbit.core.state.util
Class FileSystemBLOBStore

java.lang.Object
  extended byorg.apache.jackrabbit.core.state.util.FileSystemBLOBStore
All Implemented Interfaces:
BLOBStore, ResourceBasedBLOBStore

public class FileSystemBLOBStore
extends Object
implements ResourceBasedBLOBStore

FileSystemBLOBStore is a ResourceBasedBLOBStore implementation that stores BLOB data in a FileSystem.


Constructor Summary
FileSystemBLOBStore(FileSystem fs)
          Creates a new FileSystemBLOBStore instance.
 
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.
 FileSystemResource getResource(String blobId)
          Retrieves the BLOB data with the specified id as a permanent resource.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileSystemBLOBStore

public FileSystemBLOBStore(FileSystem fs)
Creates a new FileSystemBLOBStore instance.

Parameters:
fs - file system for storing the BLOB data
Method Detail

createId

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

Specified by:
createId in interface BLOBStore
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

get

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

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

put

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

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

remove

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

Specified by:
remove in interface BLOBStore
Parameters:
blobId - identifier of the BLOB data as returned by BLOBStore.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

getResource

public FileSystemResource getResource(String blobId)
                               throws Exception
Retrieves the BLOB data with the specified id as a permanent resource.

Specified by:
getResource in interface ResourceBasedBLOBStore
Parameters:
blobId - identifier of the BLOB data as returned by BLOBStore.createId(PropertyId, int)
Returns:
a resource representing the BLOB data
Throws:
Exception - if an error occured


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