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 Binary
getBinary(Blob blob)
Saves the given blob into aBinary
.protected String
storeAndDigest(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:BinaryManager
Saves the given blob into aBinary
.Returns a
Binary
representing the stream. TheBinary
includes 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:
getBinary
in interfaceBinaryManager
- Overrides:
getBinary
in 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
-
-