Class MetaFileLoader


  • public class MetaFileLoader
    extends Object
    Recherche et charge un fichier de métadonnées Fsz par nom et un répertoire donné. Exemple d'utilisation :
           MetaFileLoader mfl = new MetaFileLoader(new File("C:\\metadonnees_locales"));
           FszGroupMeta gmeta = mfl.getOrLoadMeta("/fr/gpmsi/pmsixml/fichcompmed2020.csv");
           fichcompmed = gmeta.getFirstChildGroupMeta();
           g = fichcompmed.makeBlankInstance();
           g.NADL.value = '900123456';
           //etc.
     
    • Constructor Detail

      • MetaFileLoader

        public MetaFileLoader()
        constructeur par défaut
      • MetaFileLoader

        public MetaFileLoader​(File dir)
        Constructeur avec le répertoire des métadonnées
        Parameters:
        dir - Le répertoire des métadonnées
    • Method Detail

      • getMetaFilesDir

        public File getMetaFilesDir()
        retourner le répertoire des métadonnées
        Returns:
        Le répertoire des métadonnées
      • setMetaFilesDir

        public void setMetaFilesDir​(File metaFilesDir)
        Définir le répertoire des métadonnées
        Parameters:
        metaFilesDir - Le répertoire des métadonnées
      • getInputStream

        public InputStream getInputStream​(String resourceName)
                                   throws FileNotFoundException,
                                          MissingMetafileException
        Rechercher un InputStream spécial pour pmsixml, soit par le metaFilesDir (qui est toujours recherché en premier) soit par les resources, qui sont dans le jar de distribution. Pour les resources, si le nom de resource ne commence pas par un "/", alors le préfixe "/fr/gpmsi/pmsixml/" est ajouté devant le nom de ressource . Sinon le nom est laissé tel quel (déconseillé, un mot de warning est mis dans le log).
        Parameters:
        resourceName - le nom de la ressource à rechercher. Devrait contenir le préfixe /fr/gpmsi/pmsixml/ .
        Returns:
        Le InputStream correspondant
        Throws:
        FileNotFoundException - Si la ressource n'a pas été retrouvée dans le système de fichiers
        MissingMetafileException - Si le fichier de métadonnées n'existe pas dans les ressources de fichier
      • getOrLoadMeta

        public FszGroupMeta getOrLoadMeta​(String name)
                                   throws FieldParseException,
                                          IOException,
                                          MissingMetafileException
        Rechercher un fichier meta soit en ressource, soit dans le répertoire des fichiers meta. Ex : getOrLoadMeta("/fr/gpmsi/pmsixml/tra2016.csv"). Le FszGroupMeta est mis en cache, et donc si il est demandé à nouveau par cette méthode, il est pris directement dans le cache.
        Parameters:
        name - Le nom du fichier meta (doit avoir le préfixe /fr/gpmsi/pmsixml/)
        Returns:
        Le FszGroupMeta trouvé
        Throws:
        FieldParseException - si erreur d'analyse du fichier meta retrouvé
        IOException - Si erreur E/S
        MissingMetafileException - Si le fichier meta n'existe pas
      • listResourceFiles

        public static String[] listResourceFiles()
                                          throws IOException
        Lire la liste de tous les fichiers 'resource', qui se trouvent dans fr.gpmsi.pmsixml et qui sont de type .txt, .csv, .ods, .xml, .png, .jpg, .jpeg
        Returns:
        Un tableau avec la liste des fichiers ou null si le jar n'a pas été trouvé
        Throws:
        IOException - Si erreur E/S