Class DbFileStorePlugin

java.lang.Object
io.vertigo.datastore.plugins.filestore.db.DbFileStorePlugin
All Implemented Interfaces:
io.vertigo.core.node.component.Activeable, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Plugin, io.vertigo.core.node.definition.DefinitionProvider, io.vertigo.core.node.definition.SimpleDefinitionProvider, FileStorePlugin

public final class DbFileStorePlugin extends Object implements FileStorePlugin, io.vertigo.core.node.definition.SimpleDefinitionProvider, io.vertigo.core.node.component.Activeable
Permet de gérer les accès atomiques à n'importe quel type de stockage SQL/ non SQL pour les traitements de FileInfo.
Author:
pchretien, npiedeloup, mlaroche
  • Constructor Details

    • DbFileStorePlugin

      @Inject public DbFileStorePlugin(Optional<String> name, String storeDtDefinitionName, String fileInfoClassName, Optional<Integer> purgeDelayMinutesOpt, io.vertigo.commons.transaction.VTransactionManager transactionManager, TaskManager taskManager)
      Constructor.
      Parameters:
      name - Store name
      storeDtDefinitionName - Nom du dt de stockage
  • Method Details

    • start

      public void start()
      Specified by:
      start in interface io.vertigo.core.node.component.Activeable
    • stop

      public void stop()
      Specified by:
      stop in interface io.vertigo.core.node.component.Activeable
    • provideDefinitions

      public List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions(io.vertigo.core.node.definition.DefinitionSpace definitionSpace)
      Specified by:
      provideDefinitions in interface io.vertigo.core.node.definition.SimpleDefinitionProvider
    • deleteOldFiles

      public void deleteOldFiles()
      Call by Daemon to purge old files
    • read

      public FileInfo read(FileInfoURI uri)
      Load a file by its URI.
      Specified by:
      read in interface FileStorePlugin
      Parameters:
      uri - FileURI requested
      Returns:
      FileInfo for this uri (null if not found).
    • create

      public FileInfo create(FileInfo fileInfo)
      Save a file. Input FileInfo must have an empty URI : insert mode
      Specified by:
      create in interface FileStorePlugin
      Parameters:
      fileInfo - File to save (creation)
      Returns:
      the created FileInfo
    • update

      public void update(FileInfo fileInfo)
      Save a file. Input FileInfo must have an URI : update mode
      Specified by:
      update in interface FileStorePlugin
      Parameters:
      fileInfo - File to save (modification)
    • delete

      public void delete(FileInfoURI uri)
      Delete a file.
      Specified by:
      delete in interface FileStorePlugin
      Parameters:
      uri - File's URI to remove
    • getFileInfoClass

      public Class<? extends FileInfo> getFileInfoClass()
      Description copied from interface: FileStorePlugin
      Get's the FileInfo Class that are handled by the particular plugin
      Specified by:
      getFileInfoClass in interface FileStorePlugin
      Returns:
    • getName

      public String getName()
      Returns:
      This store name
    • getFileInfoClassName

      public String getFileInfoClassName()
      Returns:
      the fileInfo className
    • checkReadonly

      protected void checkReadonly()
      Check readonly.
    • checkDefinitionStoreBinding

      protected void checkDefinitionStoreBinding(FileInfoDefinition fileInfoDefinition)
      Check this store is the good one for this definition.
      Parameters:
      fileInfoDefinition - Definition du FileInfo
    • getValue

      protected static <V> V getValue(DataObject dto, DataFieldName fieldName, Class<V> valueClass)
      Retourne une valeur d'un champ à partir du DtObject.
      Type Parameters:
      V - Type de la valeur *
      Parameters:
      dto - DtObject
      fieldName - Nom du champ
      valueClass - Type du champ
      Returns:
      Valeur typé du champ
    • setValue

      protected static void setValue(DataObject dto, DataFieldName fieldName, Object value)
      Fixe une valeur d'un champ d'un DtObject.
      Parameters:
      dto - DtObject
      fieldName - Nom du champs
      value - Valeur
    • setIdValue

      protected static void setIdValue(DataObject dto, FileInfoURI uri)
      Parameters:
      dto - DtObject
    • getEntityStoreManager

      protected static EntityStoreManager getEntityStoreManager()
      Returns:
      StoreManager