Afficheur.java
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 }