Class DbFileStorePlugin

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

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

      • DbFileStorePlugin

        @Inject
        public DbFileStorePlugin​(Optional<String> name,
                                 String storeDtDefinitionName,
                                 String fileInfoClassName)
        Constructor.
        Parameters:
        name - Store name
        storeDtDefinitionName - Nom du dt de stockage
    • Method Detail

      • 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
      • 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)
      • 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​(DtObject dto,
                                        DtFieldName 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​(DtObject dto,
                                       DtFieldName 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​(DtObject dto,
                                         FileInfoURI uri)
        Parameters:
        dto - DtObject
        value - Pk value
      • getEntityStoreManager

        protected static EntityStoreManager getEntityStoreManager()
        Returns:
        StoreManager