Attention ! Ne cliquez pas sur ce lien, c'est un piège à enfoirés du net !

Chez oim, forum libreChez oim, forum libre

 


Pages: [1]   En bas

Auteur Sujet: Générateur de fichiers Yaml  (Lu 3015 fois)

Songbird

  • Invité
Générateur de fichiers Yaml
« le: lundi 30 mai 2016, 22:04 »
le: lundi 30 mai 2016, 22:04

 :gp:

Voici un petit générateur de fichiers de configuration que j'ai développé récemment (vu que j'en avais besoin pour la connexion à une bdd):

Utilisation:
C'est simple, si vous souhaitez générer un archétype connu par le générateur, il vous suffit de lui renseigner le chemin dans lequel se trouvera votre fichier yml ainsi que la clé, comme ceci:

Code
import main.java.fr.songbird.groovyresources.YamlFileSkeleton;

new YamlFileSkeleton(new File("votre/chemin/"), "votreclé.skeleton");

Prenons un exemple avec une clé que le générateur supporte:
Code
new YamlFileSkeleton(new File("votre/chemin/"), "mysql.skeleton");
Contenu du fichier généré:
Code
{
hostname: null, 
port: null, 
username: null, 
password: null
}

L'utilisateur n'a plus qu'à renseigner les entrées ! :)

Et si la clé n'est pas supportée ?

Si vous ne trouvez pas votre bonheur, vous pouvez créer votre propre archétype qui sera généré pour vous.
La classe YamlFileSkeleton possède un constructeur surchargé qui le permet:
Code
new YamlFileSkeleton(new File("votre/chemin/"), "generic.skeleton", ["votre":"hashmap", "d'autres":"entrées"]);
Off-Topic:
Attention toutefois à bien renseigner generic.skeleton, c'est ce qui permet au générateur de savoir que la clé n'est pas supportée. Si vous entrez autre chose, une exception se lèvera.
Pour ce qui est du dernier paramètre, c'est une Map<K, V> qui attend des lots de clés/valeurs.
Equivalent Java:
Code
new YamlFileSkeleton(new File("votre/chemin/"), "generic.skeleton", new HashMap<String, String>().put("votre", "hashmap"));
//si vous souhaitez plus de deux entrées, en Java, vous devrez bien évidemment préparer votre HashMap à l'avance.

Enfin, la classe vous permet également de charger un fichier yaml de votre choix en mémoire, il vous suffit de renseigner le chemin du fichier dans le constructeur:
Code
new YamlFileSkeleton(new File("votre" + File.separator + "chemin"));
Puis d'utiliser la méthode loadYamlFile();
Code
Map yamlFile = (Map)new YamlFileSkeleton(new File("votre" + File.separator + "chemin").loadYamlFile());

Vous pouvez retrouver le code source de cette classe ici.
Et les mot-clés supportés pour le moment ici.
Signaler au modérateur   IP archivée
Pages: [1]   En haut
 

Page générée en 0.118 secondes avec 18 requêtes.