But : pouvoir décorer un texte par des tags HTML (balises i, u, b) :
Complétez le code suivant :
/** Interface implémentée par le composant et les décorateurs **/
interface TexteI{
public String toHTML();
}
// ICI, classes du pattern décorateur à implémenter
/** Code client **/
public class HTML{
public static void main(String[] args){
String theString = "Un texte dans une page HTML";
TexteI t1 = new Texte(theString);
System.out.println("=== pas de décoration ===");
System.out.println(t1.toHTML());
TexteI t2 = new I(new Texte(theString));
System.out.println("\n=== décoration avec I ===");
System.out.println(t2.toHTML());
TexteI t3 = new B(new I(new Texte(theString)));
System.out.println("\n=== décoration avec I et B ===");
System.out.println(t3.toHTML());
TexteI t4 = new U(new I(new Texte(theString)));
System.out.println("\n=== décoration avec I et U ===");
System.out.println(t4.toHTML());
}
}
de manière à obtenir l'exécution suivante :
java HTML
=== pas de décoration === Un texte dans une page HTML === décoration avec I === <i>Un texte dans une page HTML</i> === décoration avec I et B === <b><i>Un texte dans une page HTML</i></b> === décoration avec I et U === <u><i>Un texte dans une page HTML</i></u>