org.apache.jackrabbit.mk.blobs
Class FileBlobStore

java.lang.Object
  extended by org.apache.jackrabbit.mk.blobs.AbstractBlobStore
      extended by org.apache.jackrabbit.mk.blobs.FileBlobStore
All Implemented Interfaces:
Closeable, BlobStore, Cache.Backend<AbstractBlobStore.BlockId,AbstractBlobStore.Data>

public class FileBlobStore
extends AbstractBlobStore

A file blob store.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.jackrabbit.mk.blobs.AbstractBlobStore
AbstractBlobStore.BlockId, AbstractBlobStore.Data
 
Field Summary
 
Fields inherited from class org.apache.jackrabbit.mk.blobs.AbstractBlobStore
HASH_ALGORITHM, inUse, TYPE_DATA, TYPE_HASH, TYPE_HASH_COMPRESSED
 
Constructor Summary
FileBlobStore(String dir)
           
 
Method Summary
 String addBlob(String tempFilePath)
          Write a blob from a temporary file.
protected  boolean isMarkEnabled()
           
protected  void mark(AbstractBlobStore.BlockId id)
           
protected  byte[] readBlockFromBackend(AbstractBlobStore.BlockId id)
           
 void startMark()
           
protected  void storeBlock(byte[] digest, int level, byte[] data)
           
 int sweep()
           
 
Methods inherited from class org.apache.jackrabbit.mk.blobs.AbstractBlobStore
clearCache, clearInUse, close, getBlobLength, getBlockSize, getBlockSizeMin, load, mark, markInUse, readBlob, setBlockSize, setBlockSizeMin, usesBlobId, writeBlob
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileBlobStore

public FileBlobStore(String dir)
              throws IOException
Throws:
IOException
Method Detail

addBlob

public String addBlob(String tempFilePath)
               throws Exception
Description copied from interface: BlobStore
Write a blob from a temporary file. The temporary file is removed afterwards. A file based blob stores might simply rename the file, so that no additional writes are necessary.

Specified by:
addBlob in interface BlobStore
Overrides:
addBlob in class AbstractBlobStore
Parameters:
tempFilePath - the temporary file
Returns:
the blob id
Throws:
Exception

storeBlock

protected void storeBlock(byte[] digest,
                          int level,
                          byte[] data)
                   throws IOException
Specified by:
storeBlock in class AbstractBlobStore
Throws:
IOException

readBlockFromBackend

protected byte[] readBlockFromBackend(AbstractBlobStore.BlockId id)
                               throws IOException
Specified by:
readBlockFromBackend in class AbstractBlobStore
Throws:
IOException

startMark

public void startMark()
               throws Exception
Specified by:
startMark in class AbstractBlobStore
Throws:
Exception

isMarkEnabled

protected boolean isMarkEnabled()
Specified by:
isMarkEnabled in class AbstractBlobStore

mark

protected void mark(AbstractBlobStore.BlockId id)
             throws IOException
Specified by:
mark in class AbstractBlobStore
Throws:
IOException

sweep

public int sweep()
          throws IOException
Specified by:
sweep in class AbstractBlobStore
Throws:
IOException


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.