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 for BlobProvider providing common logic.
Since:
7.10
  • Field Details

  • Constructor Details

    • AbstractBlobProvider

      public AbstractBlobProvider()
  • Method Details

    • initialize

      public void initialize(String blobProviderId, Map<String,String> properties) throws IOException
      Description copied from interface: BlobProvider
      Initializes the blob provider.
      Specified by:
      initialize in interface BlobProvider
      Parameters:
      blobProviderId - the blob provider id for this binary manager
      properties - initialization properties
      Throws:
      IOException
    • supportsUserUpdateDefaultTrue

      protected boolean supportsUserUpdateDefaultTrue()
    • supportsUserUpdateDefaultFalse

      protected boolean supportsUserUpdateDefaultFalse()
    • supportsUserUpdate

      public boolean supportsUserUpdate()
      Description copied from interface: BlobProvider
      Checks 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:
      supportsUserUpdate in interface BlobProvider
      Returns:
      true if user update is supported
    • isColdStorageMode

      public boolean isColdStorageMode()
      Description copied from interface: BlobProvider
      Checks whether this blob provider uses "cold storage mode".

      Cold storage mode has the following characteristics:

      • transactional (blobs aren't actually written/deleted until the transaction commits, and transaction rollback is possible)
      Specified by:
      isColdStorageMode in interface BlobProvider
    • isTransient

      public boolean isTransient()
      Description copied from interface: BlobProvider
      Checks 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:
      isTransient in interface BlobProvider
    • isRecordMode

      public boolean isRecordMode()
      Description copied from interface: BlobProvider
      Checks 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:
      isRecordMode in interface BlobProvider
    • isTransactional

      public boolean isTransactional()
      Description copied from interface: BlobProvider
      Checks whether this blob provider is transactional.

      A transactional blob provider only writes blobs to final storage at commit time.

      Specified by:
      isTransactional in interface BlobProvider
    • allowByteRange

      public boolean allowByteRange()
      Description copied from interface: BlobProvider
      Checks whether this blob provider allows byte ranges in keys.
      Specified by:
      allowByteRange in interface BlobProvider
    • getProperties

      public Map<String,String> getProperties()
      Description copied from interface: BlobProvider
      Returns the properties of the blob provider.
      Specified by:
      getProperties in interface BlobProvider
    • hasCreateFromKeyPermission

      public boolean hasCreateFromKeyPermission()
      Description copied from interface: BlobProvider
      Checks if current user has the rights to create blobs in the blob provider using a key.
      Specified by:
      hasCreateFromKeyPermission in interface BlobProvider