Package org.nuxeo.ecm.core.blob
Class AbstractBlobProvider
- java.lang.Object
-
- org.nuxeo.ecm.core.blob.AbstractBlobProvider
-
- All Implemented Interfaces:
BlobProvider
- Direct Known Subclasses:
AbstractLiveConnectBlobProvider,BlobStoreBlobProvider,FilesystemBlobProvider
public abstract class AbstractBlobProvider extends Object implements BlobProvider
Abstract implementation forBlobProviderproviding common logic.- Since:
- 7.10
-
-
Field Summary
Fields Modifier and Type Field Description StringblobProviderIdMap<String,String>properties
-
Constructor Summary
Constructors Constructor Description AbstractBlobProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowByteRange()Checks whether this blob provider allows byte ranges in keys.Map<String,String>getProperties()Returns the properties of the blob provider.booleanhasCreateFromKeyPermission()Checks if current user has the rights to create blobs in the blob provider using a key.voidinitialize(String blobProviderId, Map<String,String> properties)Initializes the blob provider.booleanisRecordMode()Checks whether this blob provider uses "record mode".booleanisTransactional()Checks whether this blob provider is transactional.booleanisTransient()Checks whether this blob provider is transient: blobs may disappear after a while, so a caller should not rely on them being available forever.booleansupportsUserUpdate()Checks if user update is supported.protected booleansupportsUserUpdateDefaultFalse()protected booleansupportsUserUpdateDefaultTrue()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.blob.BlobProvider
canConvert, close, deleteBlob, getAppLinks, getAvailableConversions, getBinaryGarbageCollector, getBinaryManager, getFile, getStatus, getStream, getStream, getThumbnail, getURI, isVersion, performsExternalAccessControl, readBlob, readBlob, supportsSync, updateBlob, writeBlob, writeBlob
-
-
-
-
Field Detail
-
blobProviderId
public String blobProviderId
-
properties
public Map<String,String> properties
-
-
Constructor Detail
-
AbstractBlobProvider
public AbstractBlobProvider()
-
-
Method Detail
-
initialize
public void initialize(String blobProviderId, Map<String,String> properties) throws IOException
Description copied from interface:BlobProviderInitializes the blob provider.- Specified by:
initializein interfaceBlobProvider- Parameters:
blobProviderId- the blob provider id for this binary managerproperties- initialization properties- Throws:
IOException
-
supportsUserUpdateDefaultTrue
protected boolean supportsUserUpdateDefaultTrue()
-
supportsUserUpdateDefaultFalse
protected boolean supportsUserUpdateDefaultFalse()
-
supportsUserUpdate
public boolean supportsUserUpdate()
Description copied from interface:BlobProviderChecks if user update is supported.A user update refers to the fact that a blob from this provider may be overwritten with another blob, wherever the original blob may occur (usually in a document property).
- Specified by:
supportsUserUpdatein interfaceBlobProvider- Returns:
trueif user update is supported
-
isTransient
public boolean isTransient()
Description copied from interface:BlobProviderChecks whether this blob provider is transient: blobs may disappear after a while, so a caller should not rely on them being available forever.- Specified by:
isTransientin interfaceBlobProvider
-
isRecordMode
public boolean isRecordMode()
Description copied from interface:BlobProviderChecks whether this blob provider uses "record mode".Record mode has the following characteristics:
- transactional (blobs aren't actually written/deleted until the transaction commits, and transaction rollback is possible),
- can replace or delete a document's blob.
- Specified by:
isRecordModein interfaceBlobProvider
-
isTransactional
public boolean isTransactional()
Description copied from interface:BlobProviderChecks whether this blob provider is transactional.A transactional blob provider only writes blobs to final storage at commit time.
- Specified by:
isTransactionalin interfaceBlobProvider
-
allowByteRange
public boolean allowByteRange()
Description copied from interface:BlobProviderChecks whether this blob provider allows byte ranges in keys.- Specified by:
allowByteRangein interfaceBlobProvider
-
getProperties
public Map<String,String> getProperties()
Description copied from interface:BlobProviderReturns the properties of the blob provider.- Specified by:
getPropertiesin interfaceBlobProvider
-
hasCreateFromKeyPermission
public boolean hasCreateFromKeyPermission()
Description copied from interface:BlobProviderChecks if current user has the rights to create blobs in the blob provider using a key.- Specified by:
hasCreateFromKeyPermissionin interfaceBlobProvider
-
-