Class TwoTablesDbFileStorePlugin

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

    public final class TwoTablesDbFileStorePlugin
    extends Object
    implements FileStorePlugin
    Permet de gérer le CRUD sur un fichier stocké sur deux tables (Méta données / Données).
    Author:
    sezratty
    • Constructor Detail

      • TwoTablesDbFileStorePlugin

        @Inject
        public TwoTablesDbFileStorePlugin​(Optional<String> name,
                                          String storeMetaDataDtDefinitionName,
                                          String storeFileDtDefinitionName,
                                          String fileInfoClassName)
        Constructor.
        Parameters:
        name - This store name
        storeMetaDataDtDefinitionName - MetaData storing dtDefinition
        storeFileDtDefinitionName - File storing dtDefinition
    • Method Detail

      • read

        public FileInfo read​(FileInfoURI fileInfoUri)
        Load a file by its URI.
        Specified by:
        read in interface FileStorePlugin
        Parameters:
        fileInfoUri - 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 fileInfoUri)
        Delete a file.
        Specified by:
        delete in interface FileStorePlugin
        Parameters:
        fileInfoUri - File's URI to remove
      • 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