Package org.nuxeo.ecm.core.blob.binary
Class DefaultBinaryManager
- java.lang.Object
 - 
- org.nuxeo.ecm.core.blob.binary.AbstractBinaryManager
 - 
- org.nuxeo.ecm.core.blob.binary.LocalBinaryManager
 - 
- org.nuxeo.ecm.core.blob.binary.DefaultBinaryManager
 
 
 
 
- 
- All Implemented Interfaces:
 BinaryManager
public class DefaultBinaryManager extends LocalBinaryManager
A simple filesystem-based binary manager. It stores the binaries according to their digest (hash), which means that no transactional behavior needs to be implemented.A garbage collection is needed to purge unused binaries.
The format of the binaries directory is:
- data/ hierarchy with the actual binaries in subdirectories,
 - tmp/ temporary storage during creation,
 - config.xml a file containing the configuration used.
 
- Author:
 - Florent Guillaume
 
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from class org.nuxeo.ecm.core.blob.binary.LocalBinaryManager
LocalBinaryManager.DefaultBinaryGarbageCollector 
 - 
 
- 
Field Summary
- 
Fields inherited from class org.nuxeo.ecm.core.blob.binary.LocalBinaryManager
CONFIG_FILE, DATA, DEFAULT_PATH, storageDir, TMP, tmpDir, WINDOWS_ABSOLUTE_PATH 
- 
Fields inherited from class org.nuxeo.ecm.core.blob.binary.AbstractBinaryManager
blobProviderId, DEFAULT_DEPTH, DEFAULT_DIGEST, descriptor, digestPattern, DIGESTS_BY_LENGTH, garbageCollector, MAX_BUF_SIZE, MD5_DIGEST, MD5_DIGEST_LENGTH, MIN_BUF_SIZE, properties, SHA1_DIGEST, SHA1_DIGEST_LENGTH, SHA256_DIGEST, SHA256_DIGEST_LENGTH 
- 
Fields inherited from interface org.nuxeo.ecm.core.blob.binary.BinaryManager
PROP_KEY, PROP_PATH 
 - 
 
- 
Constructor Summary
Constructors Constructor Description DefaultBinaryManager() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BinarygetBinary(Blob blob)Saves the given blob into aBinary.protected StringstoreAndDigest(FileBlob blob)Stores and digests a temporary FileBlob.- 
Methods inherited from class org.nuxeo.ecm.core.blob.binary.LocalBinaryManager
atomicMove, close, createGarbageCollector, getBinary, getBinary, getFileForDigest, getStorageDir, initialize, storeAndDigest, touch 
- 
Methods inherited from class org.nuxeo.ecm.core.blob.binary.AbstractBinaryManager
computeDigestPattern, getDefaultDigestAlgorithm, getDescriptor, getDigestAlgorithm, getGarbageCollector, isValidDigest, removeBinaries, setDescriptor, storeAndDigest, toHexString 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getBinary
public Binary getBinary(Blob blob) throws IOException
Description copied from interface:BinaryManagerSaves the given blob into aBinary.Returns a
Binaryrepresenting the stream. TheBinaryincludes a digest that is a sufficient representation to persist it.If the blob is a temporary
FileBlob, then the temporary file may be reused as the final storage location after being moved.- Specified by:
 getBinaryin interfaceBinaryManager- Overrides:
 getBinaryin classAbstractBinaryManager- Parameters:
 blob- the blob- Returns:
 - the corresponding binary
 - Throws:
 IOException
 
- 
storeAndDigest
protected String storeAndDigest(FileBlob blob) throws IOException
Stores and digests a temporary FileBlob.- Throws:
 IOException
 
 - 
 
 -