Package fr.gpmsi.pmsixml
Class MetaFileLoader
- java.lang.Object
-
- fr.gpmsi.pmsixml.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 Summary
Constructors Constructor Description MetaFileLoader()
constructeur par défautMetaFileLoader(File dir)
Constructeur avec le répertoire des métadonnées
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InputStream
getInputStream(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.File
getMetaFilesDir()
retourner le répertoire des métadonnéesFszGroupMeta
getOrLoadMeta(String name)
Rechercher un fichier meta soit en ressource, soit dans le répertoire des fichiers meta.static String[]
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, .jpegFszGroupMeta
loadMeta(String name)
Charger un FszGroupMeta par son nom (doit avoir le préfixe /fr/gpmsi/pmsixml/)void
setMetaFilesDir(File metaFilesDir)
Définir le répertoire des métadonnées
-
-
-
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 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
FszGroupMeta
trouvé - Throws:
FieldParseException
- si erreur d'analyse du fichier meta retrouvéIOException
- Si erreur E/SMissingMetafileException
- 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
-
-