Documentos de Académico
Documentos de Profesional
Documentos de Cultura
}
}
4
public final class ContactListing {...
private Supplier<IRastreo> inforastreo;
public ContactListing (Ssupplier<IRastreo> supplierRastreo) {
inforastreo = supplierRastreo;
}
public List<String> getDNIContactosMismaCiudad(PacienteCovid19 paCovid) {
List<String> dnis = new ArrayList<>();
for (Contacto co: inforastreo.get().getContactos(paCovid.getMovil()))
if (co.getCiudad().equals(paCovid.getCiudad()))
dnis.add(co.getDNI());
return dnis;
}
}
cl. getDNIContactosMismaCiudad(unPaciente)
5a public List<String> getDNIContactosMismaCiudad(PacienteCovid19 paCovid){
return inforastreo.getContactos(paCovid.getMovil()).stream()
.filter(co -> co.getCiudad().equals(paCovid.getCiudad()))
.map (co-> co.getDNI())
.distinct()
.collect(Collectors.toList())
}
Decorador
8a
public class InfoCovidCS implements Serializable {..
private double numContagios;
private String nombre;
private ArrayList<NumContagiosListener> numContagiosListener =
new ArrayList<NumContagiosListener>();
public synchronized void addNumContagiosListener(
NumContagiosListener listener){
numContagiosListeners.add(listener);
}
// igual remove listener
public InfoCovidCS() {}
public double getNumContagios() {
return numContagios;
}
public void setNumContagios(double nuevoNumero) {
int oldNumero = this.numContagios;
this. numContagios = nuevoNumero;
if (oldNumero != nuevoNumero) {
NumContagiosEvent ev = new NumContagiosEvent (oldNumero,
nuevoNumero);
notificarCambio(ev);
}
private void notificarCambio(NumContagiosEvent ev){…}
}
8a public class InfoCovidCS implements Serializable{..
private void notificarCambio(NumContagiosEvent ev){
ArrayList<NumContagiosListener> lista;
synchronized(this){
lista=(ArrayList<NumContagiosListener>)
numContagiosListener.clone();
}
for (NumContagiosListener ncl : lista)
ncl.nuevoNumeroContagios(ev);
}
public class NumContagiosEvent extends EventObject {
protected int oldNumContagios, numContagios;
public NumContagiosEvent(Object source, int old, int new) {
super(source);
this.numContagios =new;
this.oldNumContagios = old;
}
public int getNumContagios() { return numContagios;}
public int getOldNumContagios(){ return oldNumContagios;}
}