01 package fr.isae.tags;
02
03 /**
04 * <code>Afficheur</code> est une classe permettant d'afficher sur la
05 * console les marque-pages indexes par une etiquette et ses etiquettes
06 * filles. L'affichage des marque-pages se fait en profondeur d'abord.
07 *
08 * <p>Created: Tue Nov 9 10:35:12 2010</p>
09 *
10 * @author <a href="mailto:garion@isae.fr">Christophe Garion</a>
11 * @version 1.0
12 */
13 public class Afficheur {
14
15 private RechercheEtiquette search;
16
17 /**
18 * Creer une instance de <code>Afficheur</code>.
19 *
20 * @param search l'instance de <code>RechercheEtiquette</code> associe
21 * a l'afficheur
22 */
23 public Afficheur(RechercheEtiquette search) {
24 this.search = search;
25 }
26
27 /**
28 * Afficher tous les marque-pages indexes par l'etiquette dont le nom est passe en
29 * parametre et par ses etiquettes filles.
30 *
31 * @param nomEtiquette le nom de l'etiquette a partir de laquelle on veut afficher
32 */
33 public void afficher(String nomEtiquette) {
34 prettyPrint(search.rechercher(nomEtiquette));
35 }
36
37 private void prettyPrint(Etiquette etiquette) {
38 for (MarquePage mp : etiquette.getMarquePages()) {
39 System.out.println(mp);
40 }
41
42 for (Etiquette e : etiquette.getFilles()) {
43 prettyPrint(e);
44 }
45 }
46
47 @Override public String toString() {
48 return "Arbre utilise par l'afficheur:\n" + this.search;
49 }
50 }
|