Class SimpleFileSystemContentStorage

java.lang.Object
com.flowable.content.engine.impl.fs.SimpleFileSystemContentStorage
All Implemented Interfaces:
org.flowable.content.api.ContentStorage

public class SimpleFileSystemContentStorage
extends java.lang.Object
implements org.flowable.content.api.ContentStorage
(Very) simple implementation of the ContentStorage that relies on the passed metadata to store content. Under a root folder, a division between 'task' and 'process-instance' content is made. New content gets a new UUID assigned and is placed in one of these folders. The id of the returned ContentObject indicates in which folder it is stored.
Author:
Joram Barrez
  • Field Details

  • Constructor Details

  • Method Details

    • validateOrCreateSubfolders

      protected void validateOrCreateSubfolders()
    • validateOrCreateFolder

      protected java.io.File validateOrCreateFolder​(java.lang.String folderName)
    • createContentObject

      public org.flowable.content.api.ContentObject createContentObject​(java.io.InputStream contentStream, java.util.Map<java.lang.String,​java.lang.Object> metaData)
      Specified by:
      createContentObject in interface org.flowable.content.api.ContentStorage
    • generateContentId

      protected java.lang.String generateContentId​(java.lang.String uuid, java.util.Map<java.lang.String,​java.lang.Object> metaData)
    • updateContentObject

      public org.flowable.content.api.ContentObject updateContentObject​(java.lang.String id, java.io.InputStream contentStream, java.util.Map<java.lang.String,​java.lang.Object> metaData)
      Specified by:
      updateContentObject in interface org.flowable.content.api.ContentStorage
    • getContentObject

      public org.flowable.content.api.ContentObject getContentObject​(java.lang.String id)
      Specified by:
      getContentObject in interface org.flowable.content.api.ContentStorage
    • getContentFile

      protected java.io.File getContentFile​(java.lang.String id)
    • getMetaData

      public java.util.Map<java.lang.String,​java.lang.Object> getMetaData()
      Specified by:
      getMetaData in interface org.flowable.content.api.ContentStorage
    • deleteContentObject

      public void deleteContentObject​(java.lang.String id)
      Specified by:
      deleteContentObject in interface org.flowable.content.api.ContentStorage
    • getContentStoreName

      public java.lang.String getContentStoreName()
      Specified by:
      getContentStoreName in interface org.flowable.content.api.ContentStorage
    • getContentFile

      protected java.io.File getContentFile​(java.util.Map<java.lang.String,​java.lang.Object> metaData, java.lang.String contentId)
    • determineType

      protected java.lang.String determineType​(java.util.Map<java.lang.String,​java.lang.Object> metaData)
    • createOrGetFolderBasedOnMetaData

      protected java.io.File createOrGetFolderBasedOnMetaData​(java.util.Map<java.lang.String,​java.lang.Object> metaData)
    • internalCreateOrGetFolder

      protected java.io.File internalCreateOrGetFolder​(java.io.File parentFolder, java.lang.String id)