Class FsFullFileStorePlugin

  • All Implemented Interfaces:
    io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Plugin, FileStorePlugin

    public final class FsFullFileStorePlugin
    extends Object
    implements FileStorePlugin
    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, skerdudou
    • Constructor Detail

      • FsFullFileStorePlugin

        @Inject
        public FsFullFileStorePlugin​(Optional<String> name,
                                     String path,
                                     String fileInfoClassName,
                                     VTransactionManager transactionManager,
                                     Optional<Integer> purgeDelayMinutesOpt)
        Constructor.
        Parameters:
        name - Store name
        path - Root directory
        transactionManager - Transaction manager
        purgeDelayMinutesOpt - purge files older than this delay
    • Method Detail

      • deleteOldFiles

        public void deleteOldFiles()
        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)