private static void ConfigurarDecorador() { while (true) { Console.Write(@"Ingrese ruta del archivo ( ! para regresar ) : "); _archivo = Console.ReadLine(); if (_archivo == "!") { _archivo = null; return; } if (_archivo == null || !File.Exists(_archivo)) { UtilConsola.Escribir("Archivo no existe", ConsoleColor.Red); Console.ReadKey(true); continue; } var cargador = new CargadorDecoradores(); var contenido = File.ReadAllText(_archivo); _decorador = cargador.CargarDesdeCadena(contenido); break; } }
private IDecoradorHtml TraerDecoradorDesdeCadena(string definicion, IDecoradorHtml decoradorActual) { string[] arr = definicion.Split('|'); if (arr.Length < 1) { return(decoradorActual); } string tipoNombre = "Politecnico.Patrones.Decorador02." + arr[0]; try { Type tipo = Type.GetType(tipoNombre); if (tipo == null) { return(decoradorActual); } IDecoradorHtml result = arr.Length == 2 ? (IDecoradorHtml)Activator.CreateInstance(tipo, decoradorActual, arr[1]) : (IDecoradorHtml)Activator.CreateInstance(tipo, decoradorActual); return(result); } catch (Exception) { return(decoradorActual); } }
public void CargarDecoradoresDinamicamente_Complejo() { const string origen = @"DecoradorFuenteHtml4|{ Color:'#decafe', Tipo: 'Times New Roman', Tam: '20px'}"; var cargador = new CargadorDecoradores(); IDecoradorHtml decoradores = cargador.CargarDesdeCadena(origen); string result = decoradores.Decorar("hola mundo"); Assert.AreEqual("<font color='#decafe' face='Times New Roman' size='20px'>hola mundo</font>", result); }
public void CargarDecoradoresDinamicamente_Simple() { const string origen = @"DecoradorCursiva"; var cargador = new CargadorDecoradores(); IDecoradorHtml decoradores = cargador.CargarDesdeCadena(origen); string result = decoradores.Decorar("hola mundo"); Assert.AreEqual("<em>hola mundo</em>", result); }
public void CargarDecoradoresDinamicamente_VariosConComplejo() { const string origen = @"DecoradorAcentos DecoradorFuenteHtml4|{ Color:'#decafe', Tipo: 'Times New Roman', Tam: '20px'}"; var cargador = new CargadorDecoradores(); IDecoradorHtml decoradores = cargador.CargarDesdeCadena(origen); string result = decoradores.Decorar("Mariú Ramírez ñÑ"); Assert.AreEqual( "<font color='#decafe' face='Times New Roman' size='20px'>Mariú Ramírez ñÑ</font>", result); }
public IDecoradorHtml CargarDesdeCadena(string origen) { IDecoradorHtml result = new DecoradorVacio(); using (var sr = new StringReader(origen)) { string def; while ((def = sr.ReadLine()) != null) { IDecoradorHtml decorador = TraerDecoradorDesdeCadena(def, result); result = decorador; } } return(result); }
protected DecoradorHtmlBase(IDecoradorHtml decorador) { _decorador = decorador; }
public DecoradorSpan(IDecoradorHtml decorador, string clase) : base(decorador) { _clase = clase; }
public DecoradorLetraChica(IDecoradorHtml decorador) : base(decorador) { }
public DecoradorFuenteHtml4(IDecoradorHtml decorador, string parametros) : base(decorador) { _parametros = CrearParametrosDesdeString(parametros); }
public DecoradorFuenteHtml4(IDecoradorHtml decorador, Parametros parametros) : base(decorador) { _parametros = parametros; }
public DecoradorSubIndice(IDecoradorHtml decorador) : base(decorador) { }
public DecoradorSubrayado(IDecoradorHtml decorador) : base(decorador) { }
public DecoradorBarraHorizontalDespues(IDecoradorHtml decorador) : base(decorador) { }
public DecoradorNegrilla(IDecoradorHtml decorador) : base(decorador) { }
public DecoradorCursiva(IDecoradorHtml decorador) : base(decorador) { }
public DecoradorAcentos(IDecoradorHtml decorador) : base(decorador) { }