Buscar

padrão buider

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

abstract class ConversorTexto { 
 public void converterCaractere(char c) {
 // vazio } 
 public void converterParagrafo() {
 // vazio } 
 public void converterFonte(Fonte f) { 
 // vazio } 
}
class ConversorPDF extends ConversorTexto { 
 public void converterCaractere(char c) { 
 System.out.print("Caractere PDF"); 
 } 
 public void converterParagrafo() { 
 System.out.print("Parágrafo PDF");
 } 
 public void converterFonte(Fonte f) {
 System.out.print("Fonte PDF"); } 
} 
class ConversorTeX extends ConversorTexto { 
 public void converterCaractere(char c) { 
 System.out.print("Caractere Tex"); 
 } 
 public void converterParagrafo() { 
 System.out.print("Paragrafo Tex"); 
 } 
 public void converterFonte(Fonte f) { 
 System.out.print("Fonte Tex"); 
 } 
}
 class ConversorASCII extends ConversorTexto { 
 public void converterCaractere(char c) { 
 System.out.print("Caractere ASCII"); 
 } 
}
class LeitorRTF { 
 private ConversorTexto conversor; 
 LeitorRTF(ConversorTexto c) { this.conversor = c; } 
 public void lerRTF() { 
 List<Token> tokens = obterTokensDoTexto(); 
 for (Token t : tokens) { 
 if (t.getTipo() == Token.Tipo.CARACTERE) { 	
 conversor.converterCaractere(t.getCaractere());
 } 
 if (t.getTipo() == Token.Tipo.PARAGRAFO) { 
 	conversor.converterParagrafo(); 
 } 
 if (t.getTipo() == Token.Tipo.FONTE) {
 	conversor.converterFonte(t.getFonte()); 
	 }
 
 }
}
 
 public class Cliente { 
 public static void main(String[] args) { 
 ConversorTexto conversor; 
 if (args[0].equals("pdf")) { 
 conversor = new ConversorPDF(); 
 } else if (args[0].equals("tex")) { 	
 	 conversor = new ConversorTeX(); 
 	 } else { 
 conversor = new ConversorASCII(); 
 	 } 
 LeitorRTF leitor = new LeitorRTF(conversor); 
 leitor.lerRTF(); 
 } 
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando