Package fr.gpmsi.pmsixml
Class MetaFileLoader
java.lang.Object
fr.gpmsi.pmsixml.MetaFileLoader
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 Summary
ConstructorsConstructorDescriptionconstructeur par défautMetaFileLoader(File dir) Constructeur avec le répertoire des métadonnées -
Method Summary
Modifier and TypeMethodDescriptiongetInputStream(String resourceName) 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.retourner le répertoire des métadonnéesgetOrLoadMeta(String name) Rechercher un fichier meta soit en ressource, soit dans le répertoire des fichiers meta.static String[]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, .jpegCharger un FszGroupMeta par son nom (doit avoir le préfixe /fr/gpmsi/pmsixml/)voidsetMetaFilesDir(File metaFilesDir) Définir le répertoire des métadonnées
-
Constructor Details
-
MetaFileLoader
public MetaFileLoader()constructeur par défaut -
MetaFileLoader
Constructeur avec le répertoire des métadonnées- Parameters:
dir- Le répertoire des métadonnées
-
-
Method Details
-
getMetaFilesDir
retourner le répertoire des métadonnées- Returns:
- Le répertoire des métadonnées
-
setMetaFilesDir
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
InputStreamcorrespondant - Throws:
FileNotFoundException- Si la ressource n'a pas été retrouvée dans le système de fichiersMissingMetafileException- Si le fichier de métadonnées n'existe pas dans les ressources de fichier
-
loadMeta
public FszGroupMeta loadMeta(String name) throws FieldParseException, IOException, MissingMetafileException Charger un FszGroupMeta par son nom (doit avoir le préfixe /fr/gpmsi/pmsixml/)- Parameters:
name- le nom de la métadonnée de groupe- Returns:
- La métadonnée du groupe
- Throws:
FieldParseException- Si erreur d'analyse de la définitionIOException- Si erreur E/SMissingMetafileException- Si définition de métadonnées non trouvées
-
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
FszGroupMetatrouvé - Throws:
FieldParseException- si erreur d'analyse du fichier meta retrouvéIOException- Si erreur E/SMissingMetafileException- Si le fichier meta n'existe pas
-
listResourceFiles
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
-