//CONSTRUCTOR DE LA CLASE SE LE PASA COMO PARAMETRO UNA DENUNCIADEINCENDIO (ESTE DEBE CONTENER EL ILUGAR) public MensajeWhatsapp(IDenuncia pDenuncia, MensajeWhatsapp pLista) { this.denuncia = pDenuncia; this.lista = pLista; }
public DenunciasPorWhatsapp(MensajeWhatsapp pListaLugares) { listaEnlazada = pListaLugares; }
//********************************************************************************************************************* public static void pruebaPatronState() { //PATRON STATE (EL HEROE VA A REALIZAR SU TAREA SI EL VEHICULO NO SE ROMPE EN EL TRAYECTO (METODO CONDUCIR)) //INSTANCIAS DE CALLES (SE LE PASA POR PARAMETRO EL CAUDAL DE AGUA DISPONIBLE) Calle calle3 = new Calle(50); Calle calle4 = new Calle(50); Calle calle5 = new Calle(50); //INSTANCIAS DE LUGARES ILugar G = new Plaza(9, new ConstructorSimple()); ILugar H = new Plaza(9, new ConstructorSimple()); ILugar I = new Plaza(9, new ConstructorSimple()); //PATRON ITERATOR CON DENUNCIASPORWHATSAPP //CREACION DE LISTA ENLAZADA //REFERENCIA DE TIPO MensajeWhatsapp QUE NO CONTIENE NADA MensajeWhatsapp listadenunciaWhatsapp = null; //DENUNCIAS DE INCENDIO listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(G, calle3), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(H, calle4), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(I, calle5), listadenunciaWhatsapp); //DENUNCIAS NUEVAS DE LA CONSIGNA NUMERO 12 (CHAIN OF RESPONSABILITY) //DOS DENUNCIAS DE INFARTOS listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeInfarto(new Transeunte()), listadenunciaWhatsapp); Passerby objPasserby = new Passerby(1.2, 1.2, 1.2); IInfartable infartable = new IInfartableAdapter(objPasserby); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeInfarto(infartable), listadenunciaWhatsapp); //TRES DENUNCIAS POR ROBO listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp); //CINCO DENUNCIAS POR LAMPARAS QUEMADAS listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); //INSTANCIA DE DENUNCIAPORWHATSAPP A LA CUAL SE LE PASA POR PARAMETRO UNA LISTA ENLAZADA DenunciasPorWhatsapp denuncia2 = new DenunciasPorWhatsapp(listadenunciaWhatsapp); //CADENA DE HEROES Manejador m = new Bombero(null, new Escalera(), new Manguera(), new Autobomba()); m = new Policia(m, new OrdenVozdeAlto(), new Pistola(), new Patrullero()); m = new Medico(m, new ProtocoloA(), new Desfibrilador(), new Ambulancia()); m = new Electricista(m, new Buscapolo(), new Camioneta()); //SE LE PASA COMO PARAMETRO UNA CADENA DE MANEJADORES AL OPERADOR //ESTOS HEROES REALIZARAN SU TAREA SI EL VEHICULO NO SE ROMPIO POR EL CAMINIO Operador911 objOperador = new Operador911(m); objOperador.atenderDenuncias(denuncia2); }
//********************************************************************************************************************* public static void PruebaPatronProxy() { //INSTANCIAS DE CALLES (SE LE PASA POR PARAMETRO EL CAUDAL DE AGUA DISPONIBLE) Calle calle3 = new Calle(50); Calle calle4 = new Calle(50); Calle calle5 = new Calle(50); //INSTANCIAS DE LUGARES ILugar G = new Plaza(9, new ConstructorSimple()); ILugar H = new Plaza(9, new ConstructorSimple()); ILugar I = new Plaza(9, new ConstructorSimple()); //PATRON ITERATOR CON DENUNCIASPORWHATSAPP //CREACION DE LISTA ENLAZADA //REFERENCIA DE TIPO MensajeWhatsapp QUE NO CONTIENE NADA MensajeWhatsapp listadenunciaWhatsapp = null; //DENUNCIAS DE INCENDIO listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(G, calle3), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(H, calle4), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(I, calle5), listadenunciaWhatsapp); //DENUNCIAS NUEVAS DE LA CONSIGNA NUMERO 12 (CHAIN OF RESPONSABILITY) //DOS DENUNCIAS DE INFARTOS listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeInfarto(new Transeunte()), listadenunciaWhatsapp); Passerby objPasserby = new Passerby(1.2, 1.2, 1.2); IInfartable infartable = new IInfartableAdapter(objPasserby); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeInfarto(infartable), listadenunciaWhatsapp); //TRES DENUNCIAS POR ROBO listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp); //CINCO DENUNCIAS POR LAMPARAS QUEMADAS listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp); //INSTANCIA DE DENUNCIAPORWHATSAPP A LA CUAL SE LE PASA POR PARAMETRO UNA LISTA ENLAZADA DenunciasPorWhatsapp denuncia2 = new DenunciasPorWhatsapp(listadenunciaWhatsapp); //FABRICA PARA EL ESTADO DE BOMBERO PROXY PARA QUE PUEDA CREAR AL BOMBERO REAL FabricaDeBomberos fabrica = new FabricaDeBomberos(); //PATRON PROXY PRUEBA //UN BOMBERO PROXY ES UN MANEJADOR, ESTE TIENE EN SU ESTADO UNA IFABRICADEHEROES QUE ES USADA PARA CREAR AL BOMBERO REAL A //LA HORA DE INVOCAR EL METODO APAGAR INCENDIO //CADENA DE RESPONSABILIDADES Manejador m = new BomberoProxy(null, fabrica); m = new Policia(m, new OrdenVozdeAlto(), new Pistola(), new Patrullero()); m = new Medico(m, new ProtocoloA(), new Desfibrilador(), new Ambulancia()); m = new Electricista(m, new Buscapolo(), new Camioneta()); //SE LE PASA COMO PARAMETRO UNA CADENA DE MANEJADORES AL OPERADOR Operador911 objOperador = new Operador911(m); objOperador.atenderDenuncias(denuncia2); }
//********************************************************************************************************************* public static void pruebaPatronIterator() { //ESTRATEGIA DE APAGADO, UN BOMBERO Y UN SECRETARIO QUE RECIBE LA DENUNCIA PARA ASIGNARSELA A UN BOMBERO IEstrategy estrategia = new Escalera(); Bombero objBombero = new Bombero(estrategia); objBombero.setVehiculo(new Ambulancia()); objBombero.setHerramienta(new Manguera()); BomberoSecretario secretario = new BomberoSecretario(objBombero); //INSTANCIAS DE CALLES (SE LE PASA POR PARAMETRO EL CAUDAL DE AGUA DISPONIBLE) Calle calle1 = new Calle(50); Calle calle2 = new Calle(50); Calle calle3 = new Calle(50); Calle calle4 = new Calle(50); Calle calle5 = new Calle(50); Calle calle6 = new Calle(50); // INSTANCIAS DE LUGARES ILugar A = new Plaza(); ILugar B = new Plaza(calle1, 9, new ConstructorSimple()); ILugar C = new Plaza(); ILugar D = new Plaza(); ILugar E = new Plaza(); ILugar F = new Plaza(calle2, 9, new ConstructorSimple()); ILugar G = new Plaza(9, new ConstructorSimple()); ILugar H = new Plaza(9, new ConstructorSimple()); ILugar I = new Plaza(9, new ConstructorSimple()); ILugar J = new Plaza(9, new ConstructorSimple()); //"COMPROBACION DEL PATRON ITERATOR CON DENUNCIASPORTABLERO" //SE AGREGA A LA LISTA DE OBSERVADORES LA DENUNCIATABLERO EN LOS RESPECTIVOS ILUGARES DenunciasPorTablero denuncia1 = new DenunciasPorTablero(); A.AgregarObservador(denuncia1); B.AgregarObservador(denuncia1); C.AgregarObservador(denuncia1); D.AgregarObservador(denuncia1); E.AgregarObservador(denuncia1); F.AgregarObservador(denuncia1); //SE INVOCA EL METODO CHISPA() DE LOS LUGARES B Y F, ESTE PROVOCA EL CAMBIO DE ESTADO Y NOTIFICA AL OBSERVADOR(LA DENUNCIA POR TABLERO) B.Chispa(); F.Chispa(); //SE INVOCA AL METODO ATENDERDENUNCIAS() DEL SECRETARIO EL CUAL RECIBE //LA DENUNCIA Y CONSTRUYE UN ITERADOR PARA QUE ESTE ITERE CADA DENUNCIA secretario.atenderDenuncias(denuncia1); //COMPROBACION DEL PATRON ITERATOR CON DENUNCIASPORWHATSAPP //CREACION DE LISTA ENLAZADA //REFERENCIA DE TIPO MensajeWhatsapp QUE NO CONTIENE NADA MensajeWhatsapp listadenunciaWhatsapp = null; //SE LE ASIGANA UN OBJETO DE TIPO MensajeWhatsapp A TAL REFERENCIA //LAS DENUNCIAS RECIBEN LAS CALLES Y LOS LUGARES POR CONSTRUCTOR PARA EL METODO APAGAR INCENDIO DEL BOMBERO listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(G, calle3), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(H, calle4), listadenunciaWhatsapp); listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(I, calle5), listadenunciaWhatsapp); //INSTANCIA DE DENUNCIAPORWHATSAPP A LA CUAL SE LE PASA POR PARAMETRO UNA LISTA ENLAZADA DenunciasPorWhatsapp denuncia2 = new DenunciasPorWhatsapp(listadenunciaWhatsapp); secretario.atenderDenuncias(denuncia2); //COMPROBACION DEL PATRON ITERATOR CON DENUNCIASPORMOSTRADOR DenunciasPorMostrador denuncia3 = new DenunciasPorMostrador(new DenunciaDeIncendio(J, calle6)); secretario.atenderDenuncias(denuncia3); }
public void siguiente() { this.listaEnlazada = this.listaEnlazada.getSiguiente(); }
public IteratorDenunciasPorWhatsapp(MensajeWhatsapp pListaEnlazada) { this.listaEnlazada = pListaEnlazada; }